From 0afe4456c339bf03385587ac3b72cc89d8096376 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 1 Aug 2018 21:32:45 -0400 Subject: [PATCH] Updates --- ...f7087f4315ed57a1c8.css => main.51aa1298ea23bcfff6be.css} | 2 +- ...15ed57a1c8.css.map => main.51aa1298ea23bcfff6be.css.map} | 2 +- ...3bf7087f4315ed57a1c8.js => main.51aa1298ea23bcfff6be.js} | 4 ++-- ...4315ed57a1c8.js.map => main.51aa1298ea23bcfff6be.js.map} | 2 +- index.html | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) rename app/{main.3bf7087f4315ed57a1c8.css => main.51aa1298ea23bcfff6be.css} (99%) rename app/{main.3bf7087f4315ed57a1c8.css.map => main.51aa1298ea23bcfff6be.css.map} (58%) rename app/{main.3bf7087f4315ed57a1c8.js => main.51aa1298ea23bcfff6be.js} (99%) rename app/{main.3bf7087f4315ed57a1c8.js.map => main.51aa1298ea23bcfff6be.js.map} (99%) diff --git a/app/main.3bf7087f4315ed57a1c8.css b/app/main.51aa1298ea23bcfff6be.css similarity index 99% rename from app/main.3bf7087f4315ed57a1c8.css rename to app/main.51aa1298ea23bcfff6be.css index eeea7a2c..bba930ca 100644 --- a/app/main.3bf7087f4315ed57a1c8.css +++ b/app/main.51aa1298ea23bcfff6be.css @@ -9701,4 +9701,4 @@ img.logo { .overflow-hidden { overflow: hidden; } -/*# sourceMappingURL=main.3bf7087f4315ed57a1c8.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.51aa1298ea23bcfff6be.css.map*/ \ No newline at end of file diff --git a/app/main.3bf7087f4315ed57a1c8.css.map b/app/main.51aa1298ea23bcfff6be.css.map similarity index 58% rename from app/main.3bf7087f4315ed57a1c8.css.map rename to app/main.51aa1298ea23bcfff6be.css.map index b0760fe6..0feefcd2 100644 --- a/app/main.3bf7087f4315ed57a1c8.css.map +++ b/app/main.51aa1298ea23bcfff6be.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.3bf7087f4315ed57a1c8.css","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.51aa1298ea23bcfff6be.css","sourceRoot":""} \ No newline at end of file diff --git a/app/main.3bf7087f4315ed57a1c8.js b/app/main.51aa1298ea23bcfff6be.js similarity index 99% rename from app/main.3bf7087f4315ed57a1c8.js rename to app/main.51aa1298ea23bcfff6be.js index 60c9ee53..108ef083 100644 --- a/app/main.3bf7087f4315ed57a1c8.js +++ b/app/main.51aa1298ea23bcfff6be.js @@ -1,2 +1,2 @@ -!function(n){function l(l){for(var t,i,r=l[0],a=l[1],s=l[2],c=0,p=[];c0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(15);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(544),u=e(158),o=e(178),i=e(219),r=e(42),a=e(180),s=e(129),d=e(157),c=e(92),p=e(54),f=e(183),v=e(102),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1;if(!l&&n.indexOf(".")>-1)n="http://"+n;else if(!l)return null;try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var e=window.document.createElement("a");return e.href=n,e}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.isMobileBrowser=!1,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(225),e(104),e(298).Buffer)},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CollectionService=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n,l){this.el=n,this.renderer=l}return Object.defineProperty(n.prototype,"appInputVerbatim",{set:function(n){this.disableComplete=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},n}();l.InputVerbatimDirective=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(42),u=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){!t.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=u},,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoFunctionService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(227),i=(e(0),e(842)),r=e(42),a=function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),a=Array.from(document.querySelectorAll(".modal"));return a.length>0&&(this.el=o(a[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),r.Utils.isMobileBrowser||t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(i.ModalComponent);l.ModalComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=e(541),o=e(540),i=e(539),r=e(538),a=e(537),s=e(535),d=e(534),c=function(){return function(n,l,e){var c=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new d.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){c.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){c.attachments.push(new u.AttachmentData(n))})),null!=n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){c.passwordHistory.push(new s.PasswordHistoryData(n))}))}}}();l.CipherData=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1&&(e=this.getFirstLetters(t,this.charCount)),null==e&&(e=t.substr(0,this.charCount)),i=this.getCharText(e),r=this.stringToColor(t),(a=this.getSvg(this.size,r)).appendChild(i),s=window.document.createElement("div").appendChild(a).outerHTML,d=window.btoa(unescape(encodeURIComponent(s))),this.src="data:image/svg+xml;base64,"+d,u.label=4;case 4:return[2]}})})},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(117),i=e(44),r=e(93),a=e(37),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,d,s)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer,r.CryptoFunctionService,a.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=s,l.View_AvatarComponent_0=d,l.View_AvatarComponent_Host_0=c;var p=t.ɵccf("app-avatar",o.AvatarComponent,c,{data:"data",email:"email",size:"size",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(48),d=e(126),c=e(4),p=e(9),f=e(21),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(c=[],[4,this.passwordHistory.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){c.push(n)})},Promise.resolve())]):[3,17];case 16:i.sent(),n.passwordHistory=c,i.label=17;case 17:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),null!=this.passwordHistory&&(l.passwordHistory=[],this.passwordHistory.forEach(function(n){l.passwordHistory.push(n.toPasswordHistoryData())})),l},l}(p.default);l.Cipher=y},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(178),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(91).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.passwordRevisionDate=n.passwordRevisionDate)}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds,this.revisionDate=n.revisionDate)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasPasswordHistory",{get:function(){return this.passwordHistory&&this.passwordHistory.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"passwordRevisionDisplayDate",{get:function(){return null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,passwordRevisionDate:n.login.passwordRevisionDate,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){l.passwordHistory.push({lastUsedDate:n.lastUsedDate,password:n.password?n.password.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(160),u=e(732),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:l.length,t=0;t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(11),e(3),e(26),e(21),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(805).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]4?(l=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,l)+" "+this.totpCode.substring(l)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},l.prototype.totpTick=function(n){return o(this,void 0,void 0,function(){var l,e;return i(this,function(t){switch(t.label){case 0:return l=Math.round((new Date).getTime()/1e3),e=l%n,this.totpSec=n-e,this.totpDash=+(Math.round(78.6/n*e+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==e?[3,2]:[4,this.totpUpdateCode()];case 1:t.sent(),t.label=2;case 2:return[2]}})})},l}(e(806).AddEditComponent));l.AddEditComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.name=n.name?n.name.encryptedString:null}}();l.FolderRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n.prototype.inOrgWithPremium=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.userService.getAllOrganizations()];case 1:for(n=e.sent(),l=0;l-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(835).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(855).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]10?t=10:a>0&&(t=a)}catch(n){}if(r.has("period")&&null!=r.get("period"))try{(s=parseInt(r.get("period").trim(),null))>0&&(l=s)}catch(n){}r.has("secret")&&null!=r.get("secret")&&(o=r.get("secret")),r.has("algorithm")&&null!=r.get("algorithm")&&("sha1"!==(d=r.get("algorithm").toLowerCase())&&"sha256"!==d&&"sha512"!==d||(e=d))}return c=Math.round((new Date).getTime()/1e3),p=this.leftpad(this.dec2hex(Math.floor(c/l)),16,"0"),f=i.Utils.fromHexToArray(p),(v=this.b32tobytes(o)).length&&f.length?[4,this.sign(v,f,e)]:[2,null];case 1:return 0===(h=u.sent()).length?[2,null]:(g=15&h[h.length-1],m=(127&h[g])<<24|(255&h[g+1])<<16|(255&h[g+2])<<8|255&h[g+3],y=(m%Math.pow(10,t)).toString(),[2,y=this.leftpad(y,t,"0")])}})})},n.prototype.getTimeInterval=function(n){var l=30;if(null!=n&&0===n.toLowerCase().indexOf("otpauth://")){var e=i.Utils.getQueryParams(n);if(e.has("period")&&null!=e.get("period"))try{l=parseInt(e.get("period").trim(),null)}catch(n){}}return l},n.prototype.isAutoCopyEnabled=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.disableAutoTotpCopyKey)];case 1:return[2,!n.sent()]}})})},n.prototype.leftpad=function(n,l,e){return l+1>=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]5&&(n.passwordHistory=n.passwordHistory.slice(0,5)),u.label=3;case 3:return(s=new c.Cipher).id=n.id,s.folderId=n.folderId,s.favorite=n.favorite,s.organizationId=n.organizationId,s.type=n.type,s.collectionIds=n.collectionIds,null!=l||null==s.organizationId?[3,5]:[4,this.cryptoService.getOrgKey(s.organizationId)];case 4:l=u.sent(),u.label=5;case 5:return[4,Promise.all([this.encryptObjProperty(n,s,{name:null,notes:null},l),this.encryptCipherData(s,n,l),this.encryptFields(n.fields,l).then(function(n){s.fields=n}),this.encryptPasswordHistories(n.passwordHistory,l).then(function(n){s.passwordHistory=n}),this.encryptAttachments(n.attachments,l).then(function(n){s.attachments=n})])];case 6:return u.sent(),[2,s]}})})},l.prototype.encryptAttachments=function(n,l){return t(this,void 0,void 0,function(){var e,o,i=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,null]:(e=[],o=[],n.forEach(function(n){return t(i,void 0,void 0,function(){var t,i;return u(this,function(u){return(t=new s.Attachment).id=n.id,t.size=n.size,t.sizeName=n.sizeName,t.url=n.url,i=this.encryptObjProperty(n,t,{fileName:null},l).then(function(){o.push(t)}),e.push(i),[2]})})}),[4,Promise.all(e)]);case 1:return r.sent(),[2,o]}})})},l.prototype.encryptFields=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptField(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptField=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return(e=new p.Field).type=n.type,[4,this.encryptObjProperty(n,e,{name:null,value:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.encryptPasswordHistories=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptPasswordHistory(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptPasswordHistory=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return(e=new g.Password).lastUsedDate=n.lastUsedDate,[4,this.encryptObjProperty(n,e,{password:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.get=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return l=u.sent(),[4,this.storageService.get(E)];case 2:return e=u.sent(),[4,this.storageService.get(A+l)];case 3:return null!=(t=u.sent())&&t.hasOwnProperty(n)?[2,new c.Cipher(t[n],!1,e?e[n]:null)]:[2,null]}})})},l.prototype.getAll=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o;return u(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return n=u.sent(),[4,this.storageService.get(E)];case 2:return l=u.sent(),[4,this.storageService.get(A+n)];case 3:for(o in e=u.sent(),t=[],e)e.hasOwnProperty(o)&&t.push(new c.Cipher(e[o],!1,l?l[o]:null));return[2,t]}})})},l.prototype.getAllDecrypted=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(n=[],[4,this.cryptoService.hasKey()]);case 1:if(!e.sent())throw new Error("No key.");return l=[],[4,this.getAll()];case 2:return e.sent().forEach(function(e){l.push(e.decrypt().then(function(l){return n.push(l)}))}),[4,Promise.all(l)];case 3:return e.sent(),n.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=n,[2,this.decryptedCipherCache]}})})},l.prototype.getAllDecryptedForGrouping=function(n,l){return void 0===l&&(l=!0),t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!(!l||e.folderId!==n)||!l&&null!=e.collectionIds&&e.collectionIds.indexOf(n)>-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,i,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return i=u.sent(),a=i[0],[2,i[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case r.UriMatchType.Host:var s=I.Utils.getHost(n);if(null!=s&&s===I.Utils.getHost(i.uri))return!0;break;case r.UriMatchType.Exact:if(n===i.uri)return!0;break;case r.UriMatchType.StartsWith:if(n.startsWith(i.uri))return!0;break;case r.UriMatchType.RegularExpression:try{if(new RegExp(i.uri,"i").test(n))return!0}catch(n){}break;case r.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(E)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(E,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new v.Login,n.login.passwordRevisionDate=l.login.passwordRevisionDate,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&t.groups.forEach(function(n){var l=r.groups.filter(function(l){return!l.accessAll&&l.id===n.id});null!=l&&l.length>0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),u.label=11;case 11:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(91).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(538),i=e(91),r=e(220),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(539),i=e(91),r=e(180),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(540),i=e(91),r=e(116),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(541),i=e(91),r=e(543),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.password=n.password,this.lastUsedDate=n.lastUsedDate)}}();l.PasswordHistoryData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(536),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.passwordRevisionDate=n.passwordRevisionDate,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(11),e(3),e(2),e(96),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(738).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(13),a=e(18),s=e(15),d=e(271),c=e(128),p=e(8),f=e(7),v=e(5),h=e(267),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(15),d=e(268),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(269),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return null},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.1.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera()||this.isVivaldi())&&!r.Utils.isMobileBrowser},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed";var u=e.body;this.isFirefox()&&e.body.classList.contains("modal-open")&&(u=e.body.querySelector(".modal")),u.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{u.removeChild(t)}}},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function dn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,sn,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=sn,l.View_OrganizationBillingComponent_Host_0=dn;var cn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,dn,{},{},[]);l.OrganizationBillingComponentNgFactory=cn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(61),a=e(5),s=e(7),d=e(241),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(131),a=e(117),s=e(44),d=e(93),c=e(37),p=e(7),f=e(2),v=e(5),h=e(242),g=e(4),m=e(3),y=e(9),C=e(10),b=e(66),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,d.CryptoFunctionService,c.StateService],{data:[0,"data"],size:[1,"size"],fontSize:[2,"fontSize"],dynamic:[3,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(10,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(13,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,A,S)),t.ɵdid(1,114688,null,0,h.AccountComponent,[t.ComponentFactoryResolver,g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService,C.ActivatedRoute,b.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=S,l.View_AccountComponent_0=A,l.View_AccountComponent_Host_0=E;var O=t.ɵccf("app-org-account",h.AccountComponent,E,{},{},[]);l.AccountComponentNgFactory=O},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(243),s=e(20),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(131),i=e(117),r=e(44),a=e(93),s=e(37),d=e(5),c=e(7),p=e(2),f=e(251),v=e(13),h=e(244),g=e(4),m=e(10),y=e(8),C=e(3),b=e(9),S=e(21),w=e(20),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer,a.CryptoFunctionService,s.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(15,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(18,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(21,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(27,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(30,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(48,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(51,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(54,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(57,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,802816,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(6,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function B(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[p.I18nService]),t.ɵpid(0,f.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(27,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(36,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,v.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,v.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,v.NG_VALUE_ACCESSOR,function(n){return[n]},[v.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,v.NgModel,[[8,null],[8,null],[8,null],[2,v.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,v.NgControl,null,[v.NgModel]),t.ɵdid(51,16384,null,0,v.NgControlStatus,[v.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(64,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,G)),t.ɵdid(67,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,z)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,j)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,B,R)),t.ɵdid(1,114688,null,0,h.PeopleComponent,[g.ApiService,m.ActivatedRoute,p.I18nService,t.ComponentFactoryResolver,y.PlatformUtilsService,C.Angulartics2,b.ToasterService,S.CryptoService,w.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=R,l.View_PeopleComponent_0=B,l.View_PeopleComponent_Host_0=K;var H=t.ɵccf("app-org-people",h.PeopleComponent,K,{},{},[]);l.PeopleComponentNgFactory=H},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(5),i=e(7),r=e(2),a=e(251),s=e(13),d=e(245),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(20),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(15),r=e(7),a=e(2),s=e(13),d=e(246),c=e(4),p=e(10),f=e(176),v=e(9),h=e(20),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(5),i=e(7),r=e(2),a=e(251),s=e(13),d=e(250),c=e(4),p=e(10),f=e(46),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(252),s=e(20),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(41),d=e(38),c=e(48),p=e(253),f=e(3),v=e(9),h=e(21),g=e(20),m=e(8),y=e(177),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(41),r=e(38),a=e(2),s=e(7),d=e(18),c=e(15),p=e(254),f=e(3),v=e(9),h=e(26),g=e(51),m=e(4),y=e(10),C=e(46),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(255),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(94),i=e(61),r=e(5),a=e(570),s=e(284),d=e(132),c=e(37),p=e(283),f=e(8),v=e(7),h=e(2),g=e(258),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,180224,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(61),i=e(7),r=e(2),a=e(13),s=e(87),d=e(259),c=e(46),p=e(51),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,96,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,10)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,10)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,10)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(10,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(12,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(14,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(15,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(21,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(22,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(25,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(43,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(44,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(55,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(56,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,59).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(62,null,["","\n "])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(67,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(68,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,71).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(71,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(74,null,["","\n "])),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(79,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(80,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,83).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(83,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["","\n "])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(92,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(95,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.searchText);n(l,15,0,""),n(l,21,0,n(l,22,0,e.selectedAll)),n(l,33,0,e.showFavorites),n(l,43,0,n(l,44,0,e.selectedType===e.cipherType.Login)),n(l,55,0,n(l,56,0,e.selectedType===e.cipherType.Card)),n(l,67,0,n(l,68,0,e.selectedType===e.cipherType.Identity)),n(l,79,0,n(l,80,0,e.selectedType===e.cipherType.SecureNote)),n(l,92,0,!e.loaded),n(l,95,0,e.loaded)},function(n,l){var e=l.component;n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"filters"))),n(l,9,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,9,0,n(l,16,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"allItems"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"types"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"typeLogin"))),n(l,62,0,t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"typeCard"))),n(l,74,0,t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l,0),"typeIdentity"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(734),r=e(259),a=e(46),s=e(51),d=e(4),c=e(18),p=e(15),f=e(5),v=e(733),h=e(258),g=e(26),m=e(3),y=e(9),C=e(8),b=e(257),S=e(10),w=e(20),R=e(66),_=e(27),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["","\n "])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"addItem")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function V(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,35,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,22,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,15,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,9,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["\n ","\n "])),t.ɵppd(24,1),(n()(),t.ɵeld(25,0,[["actionSpinner",1]],null,5,"small",[],null,null,null,null,null)),t.ɵdid(26,540672,null,0,c.ApiActionDirective,[t.ElementRef,p.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(29,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(34,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},v.View_CiphersComponent_0,v.RenderType_CiphersComponent)),t.ɵdid(38,180224,[[2,4]],0,h.CiphersComponent,[g.CipherService,m.Angulartics2,y.ToasterService,o.I18nService,C.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,N)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,T)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,14,0,!1,!1),n(l,26,0,e.ciphersComponent.actionPromise),n(l,29,0,t.ɵnov(l,25).loading),n(l,34,0,e.showAdd)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,V,I)),t.ɵdid(1,114688,null,0,b.VaultComponent,[S.ActivatedRoute,w.UserService,f.Location,S.Router,R.SyncService,o.I18nService,t.ComponentFactoryResolver,_.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=I,l.View_VaultComponent_0=V,l.View_VaultComponent_Host_0=P;var M=t.ɵccf("app-org-vault",b.VaultComponent,P,{},{},[]);l.VaultComponentNgFactory=M},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(131),r=e(117),a=e(44),s=e(93),d=e(37),c=e(7),p=e(2),f=e(573),v=e(287),h=e(27),g=e(8),m=e(35),y=e(572),C=e(286),b=e(260),S=e(20),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto card border-danger text-danger bg-transparent"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-body py-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-exclamation-triangle"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"organizationIsDisabled")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,17,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[["size","45"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer,s.CryptoFunctionService,d.StateService],{data:[0,"data"],size:[1,"size"],circle:[2,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(24,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,"45",!0),n(l,20,0,!e.organization.enabled),n(l,24,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[p.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,f.View_NavbarComponent_0,f.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,v.NavbarComponent,[h.MessagingService,g.PlatformUtilsService,m.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,y.View_FooterComponent_0,y.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,C.FooterComponent,[g.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,E,w)),t.ɵdid(1,114688,null,0,b.OrganizationLayoutComponent,[u.ActivatedRoute,S.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=w,l.View_OrganizationLayoutComponent_0=E,l.View_OrganizationLayoutComponent_Host_0=O;var N=t.ɵccf("app-organization-layout",b.OrganizationLayoutComponent,O,{},{},[]);l.OrganizationLayoutComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(15),p=e(261),f=e(130),v=e(20),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(262),a=e(96),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(92),s=e(54),d=e(102),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(54),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(178),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(543);l.AttachmentView=t.AttachmentView;var u=e(116);l.CardView=u.CardView;var o=e(158);l.CipherView=o.CipherView;var i=e(180);l.FieldView=i.FieldView;var r=e(220);l.IdentityView=r.IdentityView;var a=e(219);l.LoginUriView=a.LoginUriView;var s=e(157);l.LoginView=s.LoginView;var d=e(92);l.SecureNoteView=d.SecureNoteView;var c=e(757);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(758),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(92),s=e(54),d=e(102),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(102),s=e(92),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(102),s=e(116),d=e(92),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(158),a=e(178),s=e(180),d=e(157),c=e(92),p=e(54),f=e(183),v=e(102),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(41),r=e(38),a=e(2),s=e(7),d=e(18),c=e(15),p=e(217),f=e(3),v=e(9),h=e(26),g=e(51),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(263),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(5),a=e(271),s=e(128),d=e(2),c=e(8),p=e(7),f=e(264),v=e(4),h=e(3),g=e(9),m=e(21),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(18),a=e(15),s=e(5),d=e(549),c=e(269),p=e(4),f=e(3),v=e(9),h=e(548),g=e(268),m=e(547),y=e(267),C=e(7),b=e(265),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(271),a=e(128),s=e(2),d=e(8),c=e(7),p=e(5),f=e(41),v=e(38),h=e(270),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(61),a=e(5),s=e(7),d=e(218),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(61),r=e(7),a=e(2),s=e(18),d=e(15),c=e(273),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(274),s=e(118),d=e(37),c=e(3),p=e(9),f=e(185),v=e(8),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function y(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,127,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,23,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,2,"label",[["for","lockOption"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,9,"select",[["class","form-control"],["id","lockOption"],["name","LockOption"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,28).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.lockOption=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(30,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(32,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(35,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,65).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,65).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(65,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(67,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(69,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(72,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["",""])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,87).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,87).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(87,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(89,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(91,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(94,null,["\n ","\n "])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(98,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(111,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,5,"input",[["class","form-check-input"],["id","enableGravatars"],["name","enableGravatars"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,114).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,114).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.enableGravatars=e)&&u);return u},null,null)),t.ɵdid(114,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(116,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(118,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,2,"label",[["class","form-check-label"],["for","enableGravatars"]],null,null,null,null,null)),(n()(),t.ɵted(121,null,["\n ","\n "])),t.ɵppd(122,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(124,0,null,null,4,"a",[["href","https://gravatar.com/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(125,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(127,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(132,null,["",""])),t.ɵppd(133,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,30,0,"LockOption",e.lockOption),n(l,35,0,e.lockOptions);n(l,67,0,"Locale",e.locale),n(l,72,0,e.localeOptions);n(l,89,0,"DisableIcons",e.disableIcons);n(l,116,0,"enableGravatars",e.enableGravatars)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"lockOptions"))),n(l,27,0,t.ɵnov(l,32).ngClassUntouched,t.ɵnov(l,32).ngClassTouched,t.ɵnov(l,32).ngClassPristine,t.ɵnov(l,32).ngClassDirty,t.ɵnov(l,32).ngClassValid,t.ɵnov(l,32).ngClassInvalid,t.ɵnov(l,32).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"lockOptionsDesc"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"language"))),n(l,57,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"learnMore")),"")),n(l,64,0,t.ɵnov(l,69).ngClassUntouched,t.ɵnov(l,69).ngClassTouched,t.ɵnov(l,69).ngClassPristine,t.ɵnov(l,69).ngClassDirty,t.ɵnov(l,69).ngClassValid,t.ɵnov(l,69).ngClassInvalid,t.ɵnov(l,69).ngClassPending),n(l,76,0,t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"languageDesc"))),n(l,86,0,t.ɵnov(l,91).ngClassUntouched,t.ɵnov(l,91).ngClassTouched,t.ɵnov(l,91).ngClassPristine,t.ɵnov(l,91).ngClassDirty,t.ɵnov(l,91).ngClassValid,t.ɵnov(l,91).ngClassInvalid,t.ɵnov(l,91).ngClassPending),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l,0),"disableIcons"))),n(l,97,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,97,0,n(l,98,0,t.ɵnov(l,0),"learnMore")),"")),n(l,105,0,t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,113,0,t.ɵnov(l,118).ngClassUntouched,t.ɵnov(l,118).ngClassTouched,t.ɵnov(l,118).ngClassPristine,t.ɵnov(l,118).ngClassDirty,t.ɵnov(l,118).ngClassValid,t.ɵnov(l,118).ngClassInvalid,t.ɵnov(l,118).ngClassPending),n(l,121,0,t.ɵunv(l,121,0,n(l,122,0,t.ɵnov(l,0),"enableGravatars"))),n(l,124,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,124,0,n(l,125,0,t.ɵnov(l,0),"learnMore")),"")),n(l,132,0,t.ɵunv(l,132,0,n(l,133,0,t.ɵnov(l,0),"enableGravatarsDesc"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"save")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,y,h)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService,f.LockService,v.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=h,l.View_OptionsComponent_0=y,l.View_OptionsComponent_Host_0=C;var b=t.ɵccf("app-options",a.OptionsComponent,C,{},{},[]);l.OptionsComponentNgFactory=b},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(41),r=e(38),a=e(13),s=e(18),d=e(15),c=e(48),p=e(558),f=e(4),v=e(3),h=e(9),g=e(21),m=e(27),y=e(20),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(559).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(13),a=e(48),s=e(7),d=e(18),c=e(15),p=e(5),f=e(560),v=e(4),h=e(3),g=e(9),m=e(21),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(131),a=e(117),s=e(44),d=e(93),c=e(37),p=e(7),f=e(2),v=e(5),h=e(561),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,d.CryptoFunctionService,c.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),e.profile.email,"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(2,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(5,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,w,C)),t.ɵdid(1,114688,null,0,h.ProfileComponent,[g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=C,l.View_ProfileComponent_0=w,l.View_ProfileComponent_Host_0=R;var _=t.ɵccf("app-profile",h.ProfileComponent,R,{},{},[]);l.ProfileComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(801),r=e(561),a=e(4),s=e(3),d=e(9),c=e(799),p=e(560),f=e(21),v=e(27),h=e(797),g=e(558),m=e(20),y=e(275),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(276),s=e(35),d=e(161),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(280).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,180224,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(15);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(544),u=e(158),o=e(178),i=e(219),r=e(42),a=e(180),s=e(129),d=e(157),c=e(92),p=e(54),f=e(183),v=e(102),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1;if(!l&&n.indexOf(".")>-1)n="http://"+n;else if(!l)return null;try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var e=window.document.createElement("a");return e.href=n,e}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.isMobileBrowser=!1,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(225),e(104),e(298).Buffer)},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CollectionService=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n,l){this.el=n,this.renderer=l}return Object.defineProperty(n.prototype,"appInputVerbatim",{set:function(n){this.disableComplete=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},n}();l.InputVerbatimDirective=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(42),u=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){!t.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=u},,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoFunctionService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(227),i=(e(0),e(842)),r=e(42),a=function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),a=Array.from(document.querySelectorAll(".modal"));return a.length>0&&(this.el=o(a[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),r.Utils.isMobileBrowser||t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(i.ModalComponent);l.ModalComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=e(541),o=e(540),i=e(539),r=e(538),a=e(537),s=e(535),d=e(534),c=function(){return function(n,l,e){var c=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new d.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){c.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){c.attachments.push(new u.AttachmentData(n))})),null!=n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){c.passwordHistory.push(new s.PasswordHistoryData(n))}))}}}();l.CipherData=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1&&(e=this.getFirstLetters(t,this.charCount)),null==e&&(e=t.substr(0,this.charCount)),i=this.getCharText(e),r=this.stringToColor(t),(a=this.getSvg(this.size,r)).appendChild(i),s=window.document.createElement("div").appendChild(a).outerHTML,d=window.btoa(unescape(encodeURIComponent(s))),this.src="data:image/svg+xml;base64,"+d,u.label=4;case 4:return[2]}})})},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(117),i=e(44),r=e(93),a=e(37),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,d,s)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer,r.CryptoFunctionService,a.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=s,l.View_AvatarComponent_0=d,l.View_AvatarComponent_Host_0=c;var p=t.ɵccf("app-avatar",o.AvatarComponent,c,{data:"data",email:"email",size:"size",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(48),d=e(126),c=e(4),p=e(9),f=e(21),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(c=[],[4,this.passwordHistory.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){c.push(n)})},Promise.resolve())]):[3,17];case 16:i.sent(),n.passwordHistory=c,i.label=17;case 17:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),null!=this.passwordHistory&&(l.passwordHistory=[],this.passwordHistory.forEach(function(n){l.passwordHistory.push(n.toPasswordHistoryData())})),l},l}(p.default);l.Cipher=y},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(178),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(91).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.passwordRevisionDate=n.passwordRevisionDate)}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds,this.revisionDate=n.revisionDate)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasPasswordHistory",{get:function(){return this.passwordHistory&&this.passwordHistory.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"passwordRevisionDisplayDate",{get:function(){return null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(54),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,passwordRevisionDate:n.login.passwordRevisionDate,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){l.passwordHistory.push({lastUsedDate:n.lastUsedDate,password:n.password?n.password.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(160),u=e(732),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:l.length,t=0;t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(11),e(3),e(26),e(21),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(805).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]4?(l=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,l)+" "+this.totpCode.substring(l)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},l.prototype.totpTick=function(n){return o(this,void 0,void 0,function(){var l,e;return i(this,function(t){switch(t.label){case 0:return l=Math.round((new Date).getTime()/1e3),e=l%n,this.totpSec=n-e,this.totpDash=+(Math.round(78.6/n*e+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==e?[3,2]:[4,this.totpUpdateCode()];case 1:t.sent(),t.label=2;case 2:return[2]}})})},l}(e(806).AddEditComponent));l.AddEditComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.name=n.name?n.name.encryptedString:null}}();l.FolderRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n.prototype.inOrgWithPremium=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.userService.getAllOrganizations()];case 1:for(n=e.sent(),l=0;l-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(835).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(855).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]10?t=10:a>0&&(t=a)}catch(n){}if(r.has("period")&&null!=r.get("period"))try{(s=parseInt(r.get("period").trim(),null))>0&&(l=s)}catch(n){}r.has("secret")&&null!=r.get("secret")&&(o=r.get("secret")),r.has("algorithm")&&null!=r.get("algorithm")&&("sha1"!==(d=r.get("algorithm").toLowerCase())&&"sha256"!==d&&"sha512"!==d||(e=d))}return c=Math.round((new Date).getTime()/1e3),p=this.leftpad(this.dec2hex(Math.floor(c/l)),16,"0"),f=i.Utils.fromHexToArray(p),(v=this.b32tobytes(o)).length&&f.length?[4,this.sign(v,f,e)]:[2,null];case 1:return 0===(h=u.sent()).length?[2,null]:(g=15&h[h.length-1],m=(127&h[g])<<24|(255&h[g+1])<<16|(255&h[g+2])<<8|255&h[g+3],y=(m%Math.pow(10,t)).toString(),[2,y=this.leftpad(y,t,"0")])}})})},n.prototype.getTimeInterval=function(n){var l=30;if(null!=n&&0===n.toLowerCase().indexOf("otpauth://")){var e=i.Utils.getQueryParams(n);if(e.has("period")&&null!=e.get("period"))try{l=parseInt(e.get("period").trim(),null)}catch(n){}}return l},n.prototype.isAutoCopyEnabled=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.disableAutoTotpCopyKey)];case 1:return[2,!n.sent()]}})})},n.prototype.leftpad=function(n,l,e){return l+1>=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]5&&(n.passwordHistory=n.passwordHistory.slice(0,5)),u.label=3;case 3:return(s=new c.Cipher).id=n.id,s.folderId=n.folderId,s.favorite=n.favorite,s.organizationId=n.organizationId,s.type=n.type,s.collectionIds=n.collectionIds,null!=l||null==s.organizationId?[3,5]:[4,this.cryptoService.getOrgKey(s.organizationId)];case 4:l=u.sent(),u.label=5;case 5:return[4,Promise.all([this.encryptObjProperty(n,s,{name:null,notes:null},l),this.encryptCipherData(s,n,l),this.encryptFields(n.fields,l).then(function(n){s.fields=n}),this.encryptPasswordHistories(n.passwordHistory,l).then(function(n){s.passwordHistory=n}),this.encryptAttachments(n.attachments,l).then(function(n){s.attachments=n})])];case 6:return u.sent(),[2,s]}})})},l.prototype.encryptAttachments=function(n,l){return t(this,void 0,void 0,function(){var e,o,i=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,null]:(e=[],o=[],n.forEach(function(n){return t(i,void 0,void 0,function(){var t,i;return u(this,function(u){return(t=new s.Attachment).id=n.id,t.size=n.size,t.sizeName=n.sizeName,t.url=n.url,i=this.encryptObjProperty(n,t,{fileName:null},l).then(function(){o.push(t)}),e.push(i),[2]})})}),[4,Promise.all(e)]);case 1:return r.sent(),[2,o]}})})},l.prototype.encryptFields=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptField(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptField=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return(e=new p.Field).type=n.type,[4,this.encryptObjProperty(n,e,{name:null,value:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.encryptPasswordHistories=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptPasswordHistory(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptPasswordHistory=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return(e=new g.Password).lastUsedDate=n.lastUsedDate,[4,this.encryptObjProperty(n,e,{password:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.get=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return l=u.sent(),[4,this.storageService.get(E)];case 2:return e=u.sent(),[4,this.storageService.get(A+l)];case 3:return null!=(t=u.sent())&&t.hasOwnProperty(n)?[2,new c.Cipher(t[n],!1,e?e[n]:null)]:[2,null]}})})},l.prototype.getAll=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o;return u(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return n=u.sent(),[4,this.storageService.get(E)];case 2:return l=u.sent(),[4,this.storageService.get(A+n)];case 3:for(o in e=u.sent(),t=[],e)e.hasOwnProperty(o)&&t.push(new c.Cipher(e[o],!1,l?l[o]:null));return[2,t]}})})},l.prototype.getAllDecrypted=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(n=[],[4,this.cryptoService.hasKey()]);case 1:if(!e.sent())throw new Error("No key.");return l=[],[4,this.getAll()];case 2:return e.sent().forEach(function(e){l.push(e.decrypt().then(function(l){return n.push(l)}))}),[4,Promise.all(l)];case 3:return e.sent(),n.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=n,[2,this.decryptedCipherCache]}})})},l.prototype.getAllDecryptedForGrouping=function(n,l){return void 0===l&&(l=!0),t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!(!l||e.folderId!==n)||!l&&null!=e.collectionIds&&e.collectionIds.indexOf(n)>-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,i,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return i=u.sent(),a=i[0],[2,i[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case r.UriMatchType.Host:var s=I.Utils.getHost(n);if(null!=s&&s===I.Utils.getHost(i.uri))return!0;break;case r.UriMatchType.Exact:if(n===i.uri)return!0;break;case r.UriMatchType.StartsWith:if(n.startsWith(i.uri))return!0;break;case r.UriMatchType.RegularExpression:try{if(new RegExp(i.uri,"i").test(n))return!0}catch(n){}break;case r.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(E)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(E,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new v.Login,n.login.passwordRevisionDate=l.login.passwordRevisionDate,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&t.groups.forEach(function(n){var l=r.groups.filter(function(l){return!l.accessAll&&l.id===n.id});null!=l&&l.length>0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),u.label=11;case 11:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(91).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(538),i=e(91),r=e(220),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(539),i=e(91),r=e(180),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(540),i=e(91),r=e(116),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(541),i=e(91),r=e(543),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.password=n.password,this.lastUsedDate=n.lastUsedDate)}}();l.PasswordHistoryData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(536),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.passwordRevisionDate=n.passwordRevisionDate,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(11),e(3),e(2),e(96),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(738).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(13),a=e(18),s=e(15),d=e(271),c=e(128),p=e(8),f=e(7),v=e(5),h=e(267),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(15),d=e(268),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(269),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return null},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.1.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera()||this.isVivaldi())&&!r.Utils.isMobileBrowser},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed";var u=e.body;this.isFirefox()&&e.body.classList.contains("modal-open")&&(u=e.body.querySelector(".modal")),u.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{u.removeChild(t)}}},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function dn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,sn,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=sn,l.View_OrganizationBillingComponent_Host_0=dn;var cn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,dn,{},{},[]);l.OrganizationBillingComponentNgFactory=cn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(61),a=e(5),s=e(7),d=e(241),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(131),a=e(117),s=e(44),d=e(93),c=e(37),p=e(7),f=e(2),v=e(5),h=e(242),g=e(4),m=e(3),y=e(9),C=e(10),b=e(66),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,d.CryptoFunctionService,c.StateService],{data:[0,"data"],size:[1,"size"],fontSize:[2,"fontSize"],dynamic:[3,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(10,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(13,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,A,S)),t.ɵdid(1,114688,null,0,h.AccountComponent,[t.ComponentFactoryResolver,g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService,C.ActivatedRoute,b.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=S,l.View_AccountComponent_0=A,l.View_AccountComponent_Host_0=E;var O=t.ɵccf("app-org-account",h.AccountComponent,E,{},{},[]);l.AccountComponentNgFactory=O},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(243),s=e(20),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(131),i=e(117),r=e(44),a=e(93),s=e(37),d=e(5),c=e(7),p=e(2),f=e(251),v=e(13),h=e(244),g=e(4),m=e(10),y=e(8),C=e(3),b=e(9),S=e(21),w=e(20),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer,a.CryptoFunctionService,s.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(15,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(18,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(21,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(27,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(30,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(33,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(48,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(51,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(54,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(57,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,802816,null,0,d.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(6,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function B(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[p.I18nService]),t.ɵpid(0,f.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(27,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(36,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,v.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,v.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,v.NG_VALUE_ACCESSOR,function(n){return[n]},[v.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,v.NgModel,[[8,null],[8,null],[8,null],[2,v.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,v.NgControl,null,[v.NgModel]),t.ɵdid(51,16384,null,0,v.NgControlStatus,[v.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(64,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,G)),t.ɵdid(67,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,z)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,j)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,B,R)),t.ɵdid(1,114688,null,0,h.PeopleComponent,[g.ApiService,m.ActivatedRoute,p.I18nService,t.ComponentFactoryResolver,y.PlatformUtilsService,C.Angulartics2,b.ToasterService,S.CryptoService,w.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=R,l.View_PeopleComponent_0=B,l.View_PeopleComponent_Host_0=K;var H=t.ɵccf("app-org-people",h.PeopleComponent,K,{},{},[]);l.PeopleComponentNgFactory=H},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(5),i=e(7),r=e(2),a=e(251),s=e(13),d=e(245),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(20),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(15),r=e(7),a=e(2),s=e(13),d=e(246),c=e(4),p=e(10),f=e(176),v=e(9),h=e(20),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(61),o=e(5),i=e(7),r=e(2),a=e(251),s=e(13),d=e(250),c=e(4),p=e(10),f=e(46),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(252),s=e(20),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(15),s=e(41),d=e(38),c=e(48),p=e(253),f=e(3),v=e(9),h=e(21),g=e(20),m=e(8),y=e(177),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(41),r=e(38),a=e(2),s=e(7),d=e(18),c=e(15),p=e(254),f=e(3),v=e(9),h=e(26),g=e(51),m=e(4),y=e(10),C=e(46),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(255),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(94),i=e(61),r=e(5),a=e(570),s=e(284),d=e(132),c=e(37),p=e(283),f=e(8),v=e(7),h=e(2),g=e(258),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,180224,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(61),i=e(7),r=e(2),a=e(13),s=e(87),d=e(259),c=e(46),p=e(51),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,96,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,10)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,10)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,10)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(10,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(12,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(14,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(15,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(21,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(22,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(25,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(43,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(44,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(55,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(56,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,59).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(62,null,["","\n "])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(67,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(68,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,71).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(71,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(74,null,["","\n "])),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(79,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(80,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,83).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(83,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["","\n "])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(92,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(95,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.searchText);n(l,15,0,""),n(l,21,0,n(l,22,0,e.selectedAll)),n(l,33,0,e.showFavorites),n(l,43,0,n(l,44,0,e.selectedType===e.cipherType.Login)),n(l,55,0,n(l,56,0,e.selectedType===e.cipherType.Card)),n(l,67,0,n(l,68,0,e.selectedType===e.cipherType.Identity)),n(l,79,0,n(l,80,0,e.selectedType===e.cipherType.SecureNote)),n(l,92,0,!e.loaded),n(l,95,0,e.loaded)},function(n,l){var e=l.component;n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"filters"))),n(l,9,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,9,0,n(l,16,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"allItems"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"types"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"typeLogin"))),n(l,62,0,t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"typeCard"))),n(l,74,0,t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l,0),"typeIdentity"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(734),r=e(259),a=e(46),s=e(51),d=e(4),c=e(18),p=e(15),f=e(5),v=e(733),h=e(258),g=e(26),m=e(3),y=e(9),C=e(8),b=e(257),S=e(10),w=e(20),R=e(66),_=e(27),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["","\n "])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"addItem")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function V(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,35,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,22,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,15,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,9,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["\n ","\n "])),t.ɵppd(24,1),(n()(),t.ɵeld(25,0,[["actionSpinner",1]],null,5,"small",[],null,null,null,null,null)),t.ɵdid(26,540672,null,0,c.ApiActionDirective,[t.ElementRef,p.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(29,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(34,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},v.View_CiphersComponent_0,v.RenderType_CiphersComponent)),t.ɵdid(38,180224,[[2,4]],0,h.CiphersComponent,[g.CipherService,m.Angulartics2,y.ToasterService,o.I18nService,C.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,N)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,T)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,14,0,!1,!1),n(l,26,0,e.ciphersComponent.actionPromise),n(l,29,0,t.ɵnov(l,25).loading),n(l,34,0,e.showAdd)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,V,I)),t.ɵdid(1,114688,null,0,b.VaultComponent,[S.ActivatedRoute,w.UserService,f.Location,S.Router,R.SyncService,o.I18nService,t.ComponentFactoryResolver,_.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=I,l.View_VaultComponent_0=V,l.View_VaultComponent_Host_0=P;var M=t.ɵccf("app-org-vault",b.VaultComponent,P,{},{},[]);l.VaultComponentNgFactory=M},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(131),r=e(117),a=e(44),s=e(93),d=e(37),c=e(7),p=e(2),f=e(573),v=e(287),h=e(27),g=e(8),m=e(35),y=e(572),C=e(286),b=e(260),S=e(20),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto card border-danger text-danger bg-transparent"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-body py-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-exclamation-triangle"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"organizationIsDisabled")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,17,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[["size","45"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer,s.CryptoFunctionService,d.StateService],{data:[0,"data"],size:[1,"size"],circle:[2,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(24,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,"45",!0),n(l,20,0,!e.organization.enabled),n(l,24,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[p.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,f.View_NavbarComponent_0,f.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,v.NavbarComponent,[h.MessagingService,g.PlatformUtilsService,m.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,y.View_FooterComponent_0,y.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,C.FooterComponent,[g.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,E,w)),t.ɵdid(1,114688,null,0,b.OrganizationLayoutComponent,[u.ActivatedRoute,S.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=w,l.View_OrganizationLayoutComponent_0=E,l.View_OrganizationLayoutComponent_Host_0=O;var N=t.ɵccf("app-organization-layout",b.OrganizationLayoutComponent,O,{},{},[]);l.OrganizationLayoutComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(15),p=e(261),f=e(130),v=e(20),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(262),a=e(96),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(92),s=e(54),d=e(102),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(54),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(178),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(543);l.AttachmentView=t.AttachmentView;var u=e(116);l.CardView=u.CardView;var o=e(158);l.CipherView=o.CipherView;var i=e(180);l.FieldView=i.FieldView;var r=e(220);l.IdentityView=r.IdentityView;var a=e(219);l.LoginUriView=a.LoginUriView;var s=e(157);l.LoginView=s.LoginView;var d=e(92);l.SecureNoteView=d.SecureNoteView;var c=e(757);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(758),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(116),a=e(92),s=e(54),d=e(102),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(102),s=e(92),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(54),a=e(102),s=e(116),d=e(92),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(158),a=e(178),s=e(180),d=e(157),c=e(92),p=e(54),f=e(183),v=e(102),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(41),r=e(38),a=e(2),s=e(7),d=e(18),c=e(15),p=e(217),f=e(3),v=e(9),h=e(26),g=e(51),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(263),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(5),a=e(271),s=e(128),d=e(2),c=e(8),p=e(7),f=e(264),v=e(4),h=e(3),g=e(9),m=e(21),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(18),a=e(15),s=e(5),d=e(549),c=e(269),p=e(4),f=e(3),v=e(9),h=e(548),g=e(268),m=e(547),y=e(267),C=e(7),b=e(265),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(271),a=e(128),s=e(2),d=e(8),c=e(7),p=e(5),f=e(41),v=e(38),h=e(270),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(61),a=e(5),s=e(7),d=e(218),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(61),r=e(7),a=e(2),s=e(18),d=e(15),c=e(273),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(274),s=e(118),d=e(37),c=e(3),p=e(9),f=e(185),v=e(8),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function y(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,127,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,23,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,2,"label",[["for","lockOption"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,9,"select",[["class","form-control"],["id","lockOption"],["name","LockOption"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,28).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.lockOption=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(30,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(32,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(35,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,65).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,65).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(65,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(67,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(69,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(72,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["",""])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,87).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,87).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(87,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(89,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(91,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(94,null,["\n ","\n "])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(98,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(111,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,5,"input",[["class","form-check-input"],["id","enableGravatars"],["name","enableGravatars"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,114).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,114).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.enableGravatars=e)&&u);return u},null,null)),t.ɵdid(114,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(116,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(118,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,2,"label",[["class","form-check-label"],["for","enableGravatars"]],null,null,null,null,null)),(n()(),t.ɵted(121,null,["\n ","\n "])),t.ɵppd(122,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(124,0,null,null,4,"a",[["href","https://gravatar.com/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(125,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(127,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(132,null,["",""])),t.ɵppd(133,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,30,0,"LockOption",e.lockOption),n(l,35,0,e.lockOptions);n(l,67,0,"Locale",e.locale),n(l,72,0,e.localeOptions);n(l,89,0,"DisableIcons",e.disableIcons);n(l,116,0,"enableGravatars",e.enableGravatars)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"lockOptions"))),n(l,27,0,t.ɵnov(l,32).ngClassUntouched,t.ɵnov(l,32).ngClassTouched,t.ɵnov(l,32).ngClassPristine,t.ɵnov(l,32).ngClassDirty,t.ɵnov(l,32).ngClassValid,t.ɵnov(l,32).ngClassInvalid,t.ɵnov(l,32).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"lockOptionsDesc"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"language"))),n(l,57,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"learnMore")),"")),n(l,64,0,t.ɵnov(l,69).ngClassUntouched,t.ɵnov(l,69).ngClassTouched,t.ɵnov(l,69).ngClassPristine,t.ɵnov(l,69).ngClassDirty,t.ɵnov(l,69).ngClassValid,t.ɵnov(l,69).ngClassInvalid,t.ɵnov(l,69).ngClassPending),n(l,76,0,t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"languageDesc"))),n(l,86,0,t.ɵnov(l,91).ngClassUntouched,t.ɵnov(l,91).ngClassTouched,t.ɵnov(l,91).ngClassPristine,t.ɵnov(l,91).ngClassDirty,t.ɵnov(l,91).ngClassValid,t.ɵnov(l,91).ngClassInvalid,t.ɵnov(l,91).ngClassPending),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l,0),"disableIcons"))),n(l,97,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,97,0,n(l,98,0,t.ɵnov(l,0),"learnMore")),"")),n(l,105,0,t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,113,0,t.ɵnov(l,118).ngClassUntouched,t.ɵnov(l,118).ngClassTouched,t.ɵnov(l,118).ngClassPristine,t.ɵnov(l,118).ngClassDirty,t.ɵnov(l,118).ngClassValid,t.ɵnov(l,118).ngClassInvalid,t.ɵnov(l,118).ngClassPending),n(l,121,0,t.ɵunv(l,121,0,n(l,122,0,t.ɵnov(l,0),"enableGravatars"))),n(l,124,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,124,0,n(l,125,0,t.ɵnov(l,0),"learnMore")),"")),n(l,132,0,t.ɵunv(l,132,0,n(l,133,0,t.ɵnov(l,0),"enableGravatarsDesc"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"save")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,y,h)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService,f.LockService,v.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=h,l.View_OptionsComponent_0=y,l.View_OptionsComponent_Host_0=C;var b=t.ɵccf("app-options",a.OptionsComponent,C,{},{},[]);l.OptionsComponentNgFactory=b},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(41),r=e(38),a=e(13),s=e(18),d=e(15),c=e(48),p=e(558),f=e(4),v=e(3),h=e(9),g=e(21),m=e(27),y=e(20),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(559).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),o=e(38),i=e(2),r=e(13),a=e(48),s=e(7),d=e(18),c=e(15),p=e(5),f=e(560),v=e(4),h=e(3),g=e(9),m=e(21),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(15),r=e(131),a=e(117),s=e(44),d=e(93),c=e(37),p=e(7),f=e(2),v=e(5),h=e(561),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,d.CryptoFunctionService,c.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),e.profile.email,"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(2,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(5,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,w,C)),t.ɵdid(1,114688,null,0,h.ProfileComponent,[g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=C,l.View_ProfileComponent_0=w,l.View_ProfileComponent_Host_0=R;var _=t.ɵccf("app-profile",h.ProfileComponent,R,{},{},[]);l.ProfileComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(801),r=e(561),a=e(4),s=e(3),d=e(9),c=e(799),p=e(560),f=e(21),v=e(27),h=e(797),g=e(558),m=e(20),y=e(275),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(276),s=e(35),d=e(161),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(280).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,180224,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1] string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherAdmin: (request: CipherRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise>;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n fetch: (request: Request) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nexport abstract class CryptoService {\r\n setKey: (key: SymmetricCryptoKey) => Promise;\r\n setKeyHash: (keyHash: string) => Promise<{}>;\r\n setEncKey: (encKey: string) => Promise<{}>;\r\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\r\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\r\n getKey: () => Promise;\r\n getKeyHash: () => Promise;\r\n getEncKey: () => Promise;\r\n getPublicKey: () => Promise;\r\n getPrivateKey: () => Promise;\r\n getOrgKeys: () => Promise>;\r\n getOrgKey: (orgId: string) => Promise;\r\n hasKey: () => Promise;\r\n hasEncKey: () => Promise;\r\n clearKey: () => Promise;\r\n clearKeyHash: () => Promise;\r\n clearEncKey: (memoryOnly?: boolean) => Promise;\r\n clearKeyPair: (memoryOnly?: boolean) => Promise;\r\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\r\n clearKeys: () => Promise;\r\n toggleKey: () => Promise;\r\n makeKey: (password: string, salt: string) => Promise;\r\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\r\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\r\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\r\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\r\n randomNumber: (min: number, max: number) => Promise;\r\n}\r\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return str == null || str.trim() === '';\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getQueryParams(uriString: string): Map {\n const url = Utils.getUrl(uriString);\n if (url == null || url.search == null || url.search === '') {\n return null;\n }\n const map = new Map();\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\n pairs.forEach((pair) => {\n const parts = pair.split('=');\n if (parts.length < 1) {\n return;\n }\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\n });\n return map;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n const hasProtocol = uriString.indexOf('://') > -1;\n if (!hasProtocol && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n } else if (!hasProtocol) {\n return null;\n }\n\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n\n return null;\n }\n}\n\nUtils.init();\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n super(componentFactoryResolver);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\n static readonly environmentUrlsKey: string = 'environmentUrls';\n static readonly disableGaKey: string = 'disableGa';\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\n static readonly disableFaviconKey: string = 'disableFavicon';\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\n static readonly lockOptionKey: string = 'lockOption';\n static readonly lastActiveKey: string = 'lastActive';\n static readonly neverDomainsKey: string = 'neverDomains';\n static readonly installedVersionKey: string = 'installedVersion';\n static readonly localeKey: string = 'locale';\n static readonly themeKey: string = 'theme';\n\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\n readonly disableGaKey: string = ConstantsService.disableGaKey;\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\n readonly localeKey: string = ConstantsService.localeKey;\n readonly themeKey: string = ConstantsService.themeKey;\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { AttachmentData } from './attachmentData';\r\nimport { CardData } from './cardData';\r\nimport { FieldData } from './fieldData';\r\nimport { IdentityData } from './identityData';\r\nimport { LoginData } from './loginData';\r\nimport { PasswordHistoryData } from './passwordHistoryData';\r\nimport { SecureNoteData } from './secureNoteData';\r\n\r\nimport { CipherResponse } from '../response/cipherResponse';\r\n\r\nexport class CipherData {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n userId: string;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n favorite: boolean;\r\n revisionDate: Date;\r\n type: CipherType;\r\n sizeName: string;\r\n name: string;\r\n notes: string;\r\n login?: LoginData;\r\n secureNote?: SecureNoteData;\r\n card?: CardData;\r\n identity?: IdentityData;\r\n fields?: FieldData[];\r\n attachments?: AttachmentData[];\r\n passwordHistory?: PasswordHistoryData[];\r\n collectionIds?: string[];\r\n\r\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.folderId = response.folderId;\r\n this.userId = userId;\r\n this.edit = response.edit;\r\n this.organizationUseTotp = response.organizationUseTotp;\r\n this.favorite = response.favorite;\r\n this.revisionDate = response.revisionDate;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n\r\n if (collectionIds != null) {\r\n this.collectionIds = collectionIds;\r\n } else {\r\n this.collectionIds = response.collectionIds;\r\n }\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginData(response.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteData(response.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardData(response.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityData(response.identity);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (response.fields != null) {\r\n this.fields = [];\r\n response.fields.forEach((field) => {\r\n this.fields.push(new FieldData(field));\r\n });\r\n }\r\n\r\n if (response.attachments != null) {\r\n this.attachments = [];\r\n response.attachments.forEach((attachment) => {\r\n this.attachments.push(new AttachmentData(attachment));\r\n });\r\n }\r\n\r\n if (response.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n response.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new PasswordHistoryData(ph));\r\n });\r\n }\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherData } from '../data/cipherData';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Attachment } from './attachment';\r\nimport { Card } from './card';\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { Password } from './password';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher extends Domain {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n name: CipherString;\r\n notes: CipherString;\r\n type: CipherType;\r\n favorite: boolean;\r\n organizationUseTotp: boolean;\r\n edit: boolean;\r\n revisionDate: Date;\r\n localData: any;\r\n login: Login;\r\n identity: Identity;\r\n card: Card;\r\n secureNote: SecureNote;\r\n attachments: Attachment[];\r\n fields: Field[];\r\n passwordHistory: Password[];\r\n collectionIds: string[];\r\n\r\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n userId: null,\r\n organizationId: null,\r\n folderId: null,\r\n name: null,\r\n notes: null,\r\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\r\n\r\n this.type = obj.type;\r\n this.favorite = obj.favorite;\r\n this.organizationUseTotp = obj.organizationUseTotp;\r\n this.edit = obj.edit;\r\n this.revisionDate = obj.revisionDate;\r\n this.collectionIds = obj.collectionIds;\r\n this.localData = localData;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new Login(obj.login, alreadyEncrypted);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(obj.card, alreadyEncrypted);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(obj.identity, alreadyEncrypted);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (obj.attachments != null) {\r\n this.attachments = [];\r\n obj.attachments.forEach((attachment) => {\r\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\r\n });\r\n } else {\r\n this.attachments = null;\r\n }\r\n\r\n if (obj.fields != null) {\r\n this.fields = [];\r\n obj.fields.forEach((field) => {\r\n this.fields.push(new Field(field, alreadyEncrypted));\r\n });\r\n } else {\r\n this.fields = null;\r\n }\r\n\r\n if (obj.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n obj.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new Password(ph, alreadyEncrypted));\r\n });\r\n } else {\r\n this.passwordHistory = null;\r\n }\r\n }\r\n\r\n async decrypt(): Promise {\r\n const model = new CipherView(this);\r\n\r\n await this.decryptObj(model, {\r\n name: null,\r\n notes: null,\r\n }, this.organizationId);\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n model.login = await this.login.decrypt(this.organizationId);\r\n break;\r\n case CipherType.SecureNote:\r\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Card:\r\n model.card = await this.card.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Identity:\r\n model.identity = await this.identity.decrypt(this.organizationId);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const orgId = this.organizationId;\r\n\r\n if (this.attachments != null && this.attachments.length > 0) {\r\n const attachments: any[] = [];\r\n await this.attachments.reduce((promise, attachment) => {\r\n return promise.then(() => {\r\n return attachment.decrypt(orgId);\r\n }).then((decAttachment) => {\r\n attachments.push(decAttachment);\r\n });\r\n }, Promise.resolve());\r\n model.attachments = attachments;\r\n }\r\n\r\n if (this.fields != null && this.fields.length > 0) {\r\n const fields: any[] = [];\r\n await this.fields.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return field.decrypt(orgId);\r\n }).then((decField) => {\r\n fields.push(decField);\r\n });\r\n }, Promise.resolve());\r\n model.fields = fields;\r\n }\r\n\r\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\r\n const passwordHistory: any[] = [];\r\n await this.passwordHistory.reduce((promise, ph) => {\r\n return promise.then(() => {\r\n return ph.decrypt(orgId);\r\n }).then((decPh) => {\r\n passwordHistory.push(decPh);\r\n });\r\n }, Promise.resolve());\r\n model.passwordHistory = passwordHistory;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n toCipherData(userId: string): CipherData {\r\n const c = new CipherData();\r\n c.id = this.id;\r\n c.organizationId = this.organizationId;\r\n c.folderId = this.folderId;\r\n c.userId = this.organizationId != null ? userId : null;\r\n c.edit = this.edit;\r\n c.organizationUseTotp = this.organizationUseTotp;\r\n c.favorite = this.favorite;\r\n c.revisionDate = this.revisionDate;\r\n c.type = this.type;\r\n c.collectionIds = this.collectionIds;\r\n\r\n this.buildDataModel(this, c, {\r\n name: null,\r\n notes: null,\r\n });\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n c.login = this.login.toLoginData();\r\n break;\r\n case CipherType.SecureNote:\r\n c.secureNote = this.secureNote.toSecureNoteData();\r\n break;\r\n case CipherType.Card:\r\n c.card = this.card.toCardData();\r\n break;\r\n case CipherType.Identity:\r\n c.identity = this.identity.toIdentityData();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.fields != null) {\r\n c.fields = [];\r\n this.fields.forEach((field) => {\r\n c.fields.push(field.toFieldData());\r\n });\r\n }\r\n\r\n if (this.attachments != null) {\r\n c.attachments = [];\r\n this.attachments.forEach((attachment) => {\r\n c.attachments.push(attachment.toAttachmentData());\r\n });\r\n }\r\n\r\n if (this.passwordHistory != null) {\r\n c.passwordHistory = [];\r\n this.passwordHistory.forEach((ph) => {\r\n c.passwordHistory.push(ph.toPasswordHistoryData());\r\n });\r\n }\r\n return c;\r\n }\r\n}\r\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n if (!l) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = l.passwordRevisionDate;\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { PasswordHistoryView } from './passwordHistoryView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n passwordHistory: PasswordHistoryView[];\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasPasswordHistory(): boolean {\n return this.passwordHistory && this.passwordHistory.length > 0;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.login == null) {\n return null;\n } else if (this.login.password == null || this.login.password === '') {\n return null;\n }\n return this.login.passwordRevisionDate;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\r\n\r\nexport class CipherRequest {\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n login: LoginApi;\r\n secureNote: SecureNoteApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n fields: FieldApi[];\r\n passwordHistory: PasswordHistoryRequest[];\r\n attachments: { [id: string]: string; };\r\n\r\n constructor(cipher: Cipher) {\r\n this.type = cipher.type;\r\n this.folderId = cipher.folderId;\r\n this.organizationId = cipher.organizationId;\r\n this.name = cipher.name ? cipher.name.encryptedString : null;\r\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\r\n this.favorite = cipher.favorite;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = {\r\n uris: null,\r\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\r\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\r\n passwordRevisionDate: cipher.login.passwordRevisionDate,\r\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\r\n };\r\n\r\n if (cipher.login.uris) {\r\n this.login.uris = [];\r\n cipher.login.uris.forEach((u) => {\r\n this.login.uris.push({\r\n uri: u.uri ? u.uri.encryptedString : null,\r\n match: u.match != null ? u.match : null,\r\n });\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = {\r\n type: cipher.secureNote.type,\r\n };\r\n break;\r\n case CipherType.Card:\r\n this.card = {\r\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\r\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\r\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\r\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\r\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\r\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\r\n };\r\n break;\r\n case CipherType.Identity:\r\n this.identity = {\r\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\r\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\r\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\r\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\r\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\r\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\r\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\r\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\r\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\r\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\r\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\r\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\r\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\r\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\r\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\r\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\r\n passportNumber: cipher.identity.passportNumber ?\r\n cipher.identity.passportNumber.encryptedString : null,\r\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (cipher.fields) {\r\n this.fields = [];\r\n cipher.fields.forEach((field) => {\r\n this.fields.push({\r\n type: field.type,\r\n name: field.name ? field.name.encryptedString : null,\r\n value: field.value ? field.value.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.passwordHistory) {\r\n this.passwordHistory = [];\r\n cipher.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push({\r\n lastUsedDate: ph.lastUsedDate,\r\n password: ph.password ? ph.password.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.attachments) {\r\n this.attachments = {};\r\n cipher.attachments.forEach((attachment) => {\r\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\r\n });\r\n }\r\n }\r\n}\r\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n\n private searchPipe: SearchCiphersPipe;\n\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService) {\n super(cipherService);\n this.searchPipe = new SearchCiphersPipe(platformUtilsService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n let filteredCiphers = this.ciphers;\n if (select) {\n filteredCiphers = this.searchPipe.transform(this.ciphers, this.searchText);\n }\n const selectCount = select && filteredCiphers.length > MaxCheckedCount ?\n MaxCheckedCount : filteredCiphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(filteredCiphers[i], select);\n }\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n protected deleteCipher(id: string) {\n return this.cipherService.deleteWithServer(id);\n }\n}\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get isExpired() {\n return this.billing != null && this.billing.expiration != null && this.billing.expiration < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n showAdd = true;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.showAdd = this.organization.isAdmin;\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipher(id);\n }\n return this.apiService.deleteCipherAdmin(id);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n lockOption: number = null;\n disableIcons: boolean;\n enableGravatars: boolean;\n locale: string;\n lockOptions: any[];\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService, private lockService: LockService,\n private platformUtilsService: PlatformUtilsService) {\n this.lockOptions = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.lockOptions.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.lockService.setLockOption(this.lockOption != null ? this.lockOption : null);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost() && !(await this.inOrgWithPremium());\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n\n private async inOrgWithPremium() {\n const orgs = await this.userService.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium) {\n return true;\n }\n }\n return false;\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n if (this.orgName != null) {\n // Fix URL encoding of space issue with Angular\n this.orgName = this.orgName.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n if (key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32tobytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n let otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftpad(otp, digits, '0');\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftpad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private dec2hex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32tohex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (b32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = b32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32tobytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32tohex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from '../abstractions/passwordGeneration.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nconst DefaultOptions = {\r\n length: 14,\r\n ambiguous: false,\r\n number: true,\r\n minNumber: 1,\r\n uppercase: true,\r\n minUppercase: 0,\r\n lowercase: true,\r\n minLowercase: 0,\r\n special: false,\r\n minSpecial: 1,\r\n};\r\n\r\nconst Keys = {\r\n options: 'passwordGenerationOptions',\r\n history: 'generatedPasswordHistory',\r\n};\r\n\r\nconst MaxPasswordsInHistory = 100;\r\n\r\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\r\n private optionsCache: any;\r\n private history: GeneratedPasswordHistory[];\r\n\r\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\r\n\r\n async generatePassword(options: any): Promise {\r\n // overload defaults with given options\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n // sanitize\r\n if (o.uppercase && o.minUppercase <= 0) {\r\n o.minUppercase = 1;\r\n }\r\n if (o.lowercase && o.minLowercase <= 0) {\r\n o.minLowercase = 1;\r\n }\r\n if (o.number && o.minNumber <= 0) {\r\n o.minNumber = 1;\r\n }\r\n if (o.special && o.minSpecial <= 0) {\r\n o.minSpecial = 1;\r\n }\r\n\r\n if (!o.length || o.length < 1) {\r\n o.length = 10;\r\n }\r\n\r\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\r\n if (o.length < minLength) {\r\n o.length = minLength;\r\n }\r\n\r\n const positions: string[] = [];\r\n if (o.lowercase && o.minLowercase > 0) {\r\n for (let i = 0; i < o.minLowercase; i++) {\r\n positions.push('l');\r\n }\r\n }\r\n if (o.uppercase && o.minUppercase > 0) {\r\n for (let i = 0; i < o.minUppercase; i++) {\r\n positions.push('u');\r\n }\r\n }\r\n if (o.number && o.minNumber > 0) {\r\n for (let i = 0; i < o.minNumber; i++) {\r\n positions.push('n');\r\n }\r\n }\r\n if (o.special && o.minSpecial > 0) {\r\n for (let i = 0; i < o.minSpecial; i++) {\r\n positions.push('s');\r\n }\r\n }\r\n while (positions.length < o.length) {\r\n positions.push('a');\r\n }\r\n\r\n // shuffle\r\n await this.shuffleArray(positions);\r\n\r\n // build out the char sets\r\n let allCharSet = '';\r\n\r\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\r\n if (o.ambiguous) {\r\n lowercaseCharSet += 'l';\r\n }\r\n if (o.lowercase) {\r\n allCharSet += lowercaseCharSet;\r\n }\r\n\r\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\r\n if (o.ambiguous) {\r\n uppercaseCharSet += 'O';\r\n }\r\n if (o.uppercase) {\r\n allCharSet += uppercaseCharSet;\r\n }\r\n\r\n let numberCharSet = '23456789';\r\n if (o.ambiguous) {\r\n numberCharSet += '01';\r\n }\r\n if (o.number) {\r\n allCharSet += numberCharSet;\r\n }\r\n\r\n const specialCharSet = '!@#$%^&*';\r\n if (o.special) {\r\n allCharSet += specialCharSet;\r\n }\r\n\r\n let password = '';\r\n for (let i = 0; i < o.length; i++) {\r\n let positionChars: string;\r\n switch (positions[i]) {\r\n case 'l':\r\n positionChars = lowercaseCharSet;\r\n break;\r\n case 'u':\r\n positionChars = uppercaseCharSet;\r\n break;\r\n case 'n':\r\n positionChars = numberCharSet;\r\n break;\r\n case 's':\r\n positionChars = specialCharSet;\r\n break;\r\n case 'a':\r\n positionChars = allCharSet;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\r\n password += positionChars.charAt(randomCharIndex);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n async getOptions() {\r\n if (this.optionsCache == null) {\r\n const options = await this.storageService.get(Keys.options);\r\n if (options == null) {\r\n this.optionsCache = DefaultOptions;\r\n } else {\r\n this.optionsCache = options;\r\n }\r\n }\r\n\r\n return this.optionsCache;\r\n }\r\n\r\n async saveOptions(options: any) {\r\n await this.storageService.save(Keys.options, options);\r\n this.optionsCache = options;\r\n }\r\n\r\n async getHistory(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return new Array();\r\n }\r\n\r\n if (!this.history) {\r\n const encrypted = await this.storageService.get(Keys.history);\r\n this.history = await this.decryptHistory(encrypted);\r\n }\r\n\r\n return this.history || new Array();\r\n }\r\n\r\n async addHistory(password: string): Promise {\r\n // Cannot add new history if no key is available\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return;\r\n }\r\n\r\n const currentHistory = await this.getHistory();\r\n\r\n // Prevent duplicates\r\n if (this.matchesPrevious(password, currentHistory)) {\r\n return;\r\n }\r\n\r\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\r\n\r\n // Remove old items.\r\n if (currentHistory.length > MaxPasswordsInHistory) {\r\n currentHistory.pop();\r\n }\r\n\r\n const newHistory = await this.encryptHistory(currentHistory);\r\n return await this.storageService.save(Keys.history, newHistory);\r\n }\r\n\r\n async clear(): Promise {\r\n this.history = [];\r\n return await this.storageService.remove(Keys.history);\r\n }\r\n\r\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const encrypted = await this.cryptoService.encrypt(item.password);\r\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\r\n return new GeneratedPasswordHistory(decrypted, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\r\n if (history == null || history.length === 0) {\r\n return false;\r\n }\r\n\r\n return history[history.length - 1].password === password;\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/12646864/1090359\r\n private async shuffleArray(array: string[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = await this.cryptoService.randomNumber(0, i);\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { EncryptedObject } from '../models/domain/encryptedObject';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n key: 'key',\r\n encOrgKeys: 'encOrgKeys',\r\n encPrivateKey: 'encPrivateKey',\r\n encKey: 'encKey',\r\n keyHash: 'keyHash',\r\n};\r\n\r\nexport class CryptoService implements CryptoServiceAbstraction {\r\n private key: SymmetricCryptoKey;\r\n private encKey: SymmetricCryptoKey;\r\n private legacyEtmKey: SymmetricCryptoKey;\r\n private keyHash: string;\r\n private publicKey: ArrayBuffer;\r\n private privateKey: ArrayBuffer;\r\n private orgKeys: Map;\r\n\r\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\r\n private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n async setKey(key: SymmetricCryptoKey): Promise {\r\n this.key = key;\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n // if we have a lock option set, we do not store the key\r\n return;\r\n }\r\n\r\n return this.secureStorageService.save(Keys.key, key.keyB64);\r\n }\r\n\r\n setKeyHash(keyHash: string): Promise<{}> {\r\n this.keyHash = keyHash;\r\n return this.storageService.save(Keys.keyHash, keyHash);\r\n }\r\n\r\n async setEncKey(encKey: string): Promise<{}> {\r\n if (encKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encKey, encKey);\r\n this.encKey = null;\r\n }\r\n\r\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\r\n if (encPrivateKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\r\n this.privateKey = null;\r\n }\r\n\r\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\r\n const orgKeys: any = {};\r\n orgs.forEach((org) => {\r\n orgKeys[org.id] = org.key;\r\n });\r\n\r\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\r\n }\r\n\r\n async getKey(): Promise {\r\n if (this.key != null) {\r\n return this.key;\r\n }\r\n\r\n const key = await this.secureStorageService.get(Keys.key);\r\n if (key != null) {\r\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\r\n }\r\n\r\n return key == null ? null : this.key;\r\n }\r\n\r\n getKeyHash(): Promise {\r\n if (this.keyHash != null) {\r\n return Promise.resolve(this.keyHash);\r\n }\r\n\r\n return this.storageService.get(Keys.keyHash);\r\n }\r\n\r\n @sequentialize(() => 'getEncKey')\r\n async getEncKey(): Promise {\r\n if (this.encKey != null) {\r\n return this.encKey;\r\n }\r\n\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n if (encKey == null) {\r\n return null;\r\n }\r\n\r\n const key = await this.getKey();\r\n if (key == null) {\r\n return null;\r\n }\r\n\r\n let decEncKey: ArrayBuffer;\r\n const encKeyCipher = new CipherString(encKey);\r\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\r\n decEncKey = await this.decrypt(encKeyCipher, key);\r\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\r\n const newKey = await this.stretchKey(key);\r\n decEncKey = await this.decrypt(encKeyCipher, newKey);\r\n } else {\r\n throw new Error('Unsupported encKey type.');\r\n }\r\n\r\n if (decEncKey == null) {\r\n return null;\r\n }\r\n this.encKey = new SymmetricCryptoKey(decEncKey);\r\n return this.encKey;\r\n }\r\n\r\n async getPublicKey(): Promise {\r\n if (this.publicKey != null) {\r\n return this.publicKey;\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n return null;\r\n }\r\n\r\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\r\n return this.publicKey;\r\n }\r\n\r\n async getPrivateKey(): Promise {\r\n if (this.privateKey != null) {\r\n return this.privateKey;\r\n }\r\n\r\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\r\n if (encPrivateKey == null) {\r\n return null;\r\n }\r\n\r\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\r\n return this.privateKey;\r\n }\r\n\r\n @sequentialize(() => 'getOrgKeys')\r\n async getOrgKeys(): Promise> {\r\n if (this.orgKeys != null && this.orgKeys.size > 0) {\r\n return this.orgKeys;\r\n }\r\n\r\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\r\n if (encOrgKeys == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys: Map = new Map();\r\n let setKey = false;\r\n\r\n for (const orgId in encOrgKeys) {\r\n if (!encOrgKeys.hasOwnProperty(orgId)) {\r\n continue;\r\n }\r\n\r\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\r\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\r\n setKey = true;\r\n }\r\n\r\n if (setKey) {\r\n this.orgKeys = orgKeys;\r\n }\r\n\r\n return this.orgKeys;\r\n }\r\n\r\n async getOrgKey(orgId: string): Promise {\r\n if (orgId == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys = await this.getOrgKeys();\r\n if (orgKeys == null || !orgKeys.has(orgId)) {\r\n return null;\r\n }\r\n\r\n return orgKeys.get(orgId);\r\n }\r\n\r\n async hasKey(): Promise {\r\n return (await this.getKey()) != null;\r\n }\r\n\r\n async hasEncKey(): Promise {\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n return encKey != null;\r\n }\r\n\r\n clearKey(): Promise {\r\n this.key = this.legacyEtmKey = null;\r\n return this.secureStorageService.remove(Keys.key);\r\n }\r\n\r\n clearKeyHash(): Promise {\r\n this.keyHash = null;\r\n return this.storageService.remove(Keys.keyHash);\r\n }\r\n\r\n clearEncKey(memoryOnly?: boolean): Promise {\r\n this.encKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encKey);\r\n }\r\n\r\n clearKeyPair(memoryOnly?: boolean): Promise {\r\n this.privateKey = null;\r\n this.publicKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encPrivateKey);\r\n }\r\n\r\n clearOrgKeys(memoryOnly?: boolean): Promise {\r\n this.orgKeys = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encOrgKeys);\r\n }\r\n\r\n clearKeys(): Promise {\r\n return Promise.all([\r\n this.clearKey(),\r\n this.clearKeyHash(),\r\n this.clearOrgKeys(),\r\n this.clearEncKey(),\r\n this.clearKeyPair(),\r\n ]);\r\n }\r\n\r\n async toggleKey(): Promise {\r\n const key = await this.getKey();\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null || option === 0) {\r\n // if we have a lock option set, clear the key\r\n await this.clearKey();\r\n this.key = key;\r\n return;\r\n }\r\n\r\n await this.setKey(key);\r\n }\r\n\r\n async makeKey(password: string, salt: string): Promise {\r\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\r\n return new SymmetricCryptoKey(key);\r\n }\r\n\r\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\r\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\r\n const publicKey = await this.getPublicKey();\r\n const encKey = await this.getEncKey();\r\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\r\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\r\n }\r\n\r\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\r\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\r\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\r\n const privateEnc = await this.encrypt(keyPair[1], key);\r\n return [publicB64, privateEnc];\r\n }\r\n\r\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (password == null || key == null) {\r\n throw new Error('Invalid parameters.');\r\n }\r\n\r\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\r\n return Utils.fromBufferToB64(hash);\r\n }\r\n\r\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const encKey = await this.cryptoFunctionService.randomBytes(64);\r\n let encKeyEnc: CipherString = null;\r\n // TODO: Uncomment when we're ready to enable key stretching\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n /*\r\n if (key.key.byteLength === 32) {\r\n const newKey = await this.stretchKey(key);\r\n encKeyEnc = await this.encrypt(encKey, newKey);\r\n } else if (key.key.byteLength === 64) {\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n } else {\r\n throw new Error('Invalid key size.');\r\n }\r\n */\r\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\r\n }\r\n\r\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (plainValue == null) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n let plainBuf: ArrayBuffer;\r\n if (typeof (plainValue) === 'string') {\r\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\r\n } else {\r\n plainBuf = plainValue;\r\n }\r\n\r\n const encObj = await this.aesEncrypt(plainBuf, key);\r\n const iv = Utils.fromBufferToB64(encObj.iv);\r\n const data = Utils.fromBufferToB64(encObj.data);\r\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\r\n return new CipherString(encObj.key.encType, iv, data, mac);\r\n }\r\n\r\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n const encValue = await this.aesEncrypt(plainValue, key);\r\n let macLen = 0;\r\n if (encValue.mac != null) {\r\n macLen = encValue.mac.byteLength;\r\n }\r\n\r\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\r\n encBytes.set([encValue.key.encType]);\r\n encBytes.set(new Uint8Array(encValue.iv), 1);\r\n if (encValue.mac != null) {\r\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\r\n }\r\n\r\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\r\n return encBytes.buffer;\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey == null) {\r\n throw new Error('Public key unavailable.');\r\n }\r\n\r\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\r\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\r\n let mac: string = null;\r\n if (key != null && key.macKey != null) {\r\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\r\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\r\n mac = Utils.fromBufferToB64(macBytes);\r\n }\r\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\r\n }\r\n\r\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\r\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\r\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\r\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\r\n if (decipher == null) {\r\n return null;\r\n }\r\n\r\n return decipher;\r\n }\r\n\r\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\r\n cipherString.iv, cipherString.mac, key);\r\n }\r\n\r\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n if (encBuf == null) {\r\n throw new Error('no encBuf.');\r\n }\r\n\r\n const encBytes = new Uint8Array(encBuf);\r\n const encType = encBytes[0];\r\n let ctBytes: Uint8Array = null;\r\n let ivBytes: Uint8Array = null;\r\n let macBytes: Uint8Array = null;\r\n\r\n switch (encType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n macBytes = encBytes.slice(17, 49);\r\n ctBytes = encBytes.slice(49);\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n ctBytes = encBytes.slice(17);\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\r\n macBytes != null ? macBytes.buffer : null, key);\r\n }\r\n\r\n // EFForg/OpenWireless\r\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\r\n async randomNumber(min: number, max: number): Promise {\r\n let rval = 0;\r\n const range = max - min + 1;\r\n const bitsNeeded = Math.ceil(Math.log2(range));\r\n if (bitsNeeded > 53) {\r\n throw new Error('We cannot generate numbers larger than 53 bits.');\r\n }\r\n\r\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\r\n const mask = Math.pow(2, bitsNeeded) - 1;\r\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\r\n\r\n // Fill a byte array with N random numbers\r\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\r\n\r\n let p = (bytesNeeded - 1) * 8;\r\n for (let i = 0; i < bytesNeeded; i++) {\r\n rval += byteArray[i] * Math.pow(2, p);\r\n p -= 8;\r\n }\r\n\r\n // Use & to apply the mask and reduce the number of recursive lookups\r\n // tslint:disable-next-line\r\n rval = rval & mask;\r\n\r\n if (rval >= range) {\r\n // Integer out of acceptable range\r\n return this.randomNumber(min, max);\r\n }\r\n\r\n // Return an integer that falls within the range\r\n return min + rval;\r\n }\r\n\r\n // Helpers\r\n\r\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const obj = new EncryptedObject();\r\n obj.key = await this.getKeyForEncryption(key);\r\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\r\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\r\n\r\n if (obj.key.macKey != null) {\r\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\r\n macData.set(new Uint8Array(obj.iv), 0);\r\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\r\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\r\n key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n // tslint:disable-next-line\r\n console.error('mac required.');\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n // tslint:disable-next-line\r\n console.error('encType unavailable.');\r\n return null;\r\n }\r\n\r\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\r\n if (fastParams.macKey != null && fastParams.mac != null) {\r\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\r\n fastParams.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\r\n if (!macsEqual) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\r\n }\r\n\r\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\r\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n return null;\r\n }\r\n\r\n if (theKey.macKey != null && mac != null) {\r\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\r\n macData.set(new Uint8Array(iv), 0);\r\n macData.set(new Uint8Array(data), iv.byteLength);\r\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\r\n if (computedMac === null) {\r\n return null;\r\n }\r\n\r\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsMatch) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\r\n }\r\n\r\n private async rsaDecrypt(encValue: string): Promise {\r\n const headerPieces = encValue.split('.');\r\n let encType: EncryptionType = null;\r\n let encPieces: string[];\r\n\r\n if (headerPieces.length === 1) {\r\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\r\n encPieces = [headerPieces[0]];\r\n } else if (headerPieces.length === 2) {\r\n try {\r\n encType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) { }\r\n }\r\n\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n if (encPieces.length !== 2) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n if (encPieces == null || encPieces.length <= 0) {\r\n throw new Error('encPieces unavailable.');\r\n }\r\n\r\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\r\n const key = await this.getEncKey();\r\n if (key != null && key.macKey != null && encPieces.length > 1) {\r\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\r\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsEqual) {\r\n throw new Error('MAC failed.');\r\n }\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n throw new Error('No private key.');\r\n }\r\n\r\n let alg: 'sha1' | 'sha256' = 'sha1';\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n alg = 'sha256';\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\r\n }\r\n\r\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\r\n if (key != null) {\r\n return key;\r\n }\r\n\r\n const encKey = await this.getEncKey();\r\n if (encKey != null) {\r\n return encKey;\r\n }\r\n\r\n return await this.getKey();\r\n }\r\n\r\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\r\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\r\n key.encType === EncryptionType.AesCbc256_B64) {\r\n // Old encrypt-then-mac scheme, make a new key\r\n if (this.legacyEtmKey == null) {\r\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\r\n }\r\n return this.legacyEtmKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n private async stretchKey(key: SymmetricCryptoKey): Promise {\r\n const newKey = new Uint8Array(64);\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\r\n return new SymmetricCryptoKey(newKey.buffer);\r\n }\r\n\r\n // ref: https://tools.ietf.org/html/rfc5869\r\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\r\n const hashLen = 32; // sha256\r\n const okm = new Uint8Array(size);\r\n let previousT = new Uint8Array(0);\r\n const n = Math.ceil(size / hashLen);\r\n for (let i = 0; i < n; i++) {\r\n const t = new Uint8Array(previousT.length + info.length + 1);\r\n t.set(previousT);\r\n t.set(info, previousT.length);\r\n t.set([i + 1], t.length - 1);\r\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\r\n okm.set(previousT, i * hashLen);\r\n }\r\n return okm;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domain';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nexport class CipherService implements CipherServiceAbstraction {\n decryptedCipherCache: CipherView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\n // Adjust password history\n if (model.id != null) {\n const existingCipher = await (await this.get(model.id)).decrypt();\n if (existingCipher != null) {\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.filter((f) => f.name === ef.name);\n if (matchedField.length === 0 || matchedField[0].value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Array> = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(() => {\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\n if (url == null && !includeOtherTypes) {\n return Promise.resolve([]);\n }\n\n const domain = this.platformUtilsService.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n return ciphers.filter((cipher) => {\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n switch (u.match) {\n case null:\n case undefined:\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n return true;\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getLastUsedForUrl(url: string): Promise {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (ciphers.length === 0) {\n return null;\n }\n\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\n return sortedCiphers[0];\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n const request = new CipherRequest(cipher);\n\n let response: CipherResponse;\n if (cipher.id == null) {\n response = await this.apiService.postCipher(request);\n cipher.id = response.id;\n } else {\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCipher.toCipherData(userId));\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Array> = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('data', new Buffer(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\n organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n const encData = await this.cryptoService.encryptToBytes(data, key);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('data', new Buffer(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.decryptedCipherCache = null;\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n // Helpers\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\r\n if (response.status === 404) {\r\n return [];\r\n } else if (response.status !== 200) {\r\n throw new Error();\r\n }\r\n const responseJson = await response.json();\r\n return responseJson.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = response.RevisionDate;\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.PasswordHistory != null) {\n this.passwordHistory = [];\n response.PasswordHistory.forEach((ph: any) => {\n this.passwordHistory.push(new PasswordHistoryResponse(ph));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise) {\r\n const device = platformUtilsService.getDevice();\r\n this.deviceType = device.toString();\r\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\r\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\r\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\r\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\r\n device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n return;\r\n }\r\n\r\n if (urls.api != null && urls.identity != null) {\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n return;\r\n }\r\n\r\n /* tslint:disable */\r\n // Local Dev\r\n //this.apiBaseUrl = 'http://localhost:4000';\r\n //this.identityBaseUrl = 'http://localhost:33656';\r\n\r\n // Production\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n /* tslint:enable */\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-cache',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n postPremium(data: FormData): Promise {\r\n return this.send('POST', '/accounts/premium', data, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n postAccountStorage(request: StorageRequest): Promise {\r\n return this.send('POST', '/accounts/storage', request, true, false);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/ciphers/purge', request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, CollectionUserResponse);\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, GroupUserResponse);\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new OrganizationBillingResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\r\n }\r\n\r\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // Helpers\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-cache');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return fetch(request);\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.handleTokenState();\r\n headers.set('Authorization', authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean): Promise {\r\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async handleTokenState(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n\r\n return 'Bearer ' + accessToken;\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (!this.isWebClient || this.usingBaseUrl) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n accessGroups: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups.length > 0) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n cipherService: CipherService, private apiService: ApiService) {\n super(collectionService, analytics, toasterService, i18nService, cipherService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected loadCipherCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.isAdmin) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Password } from '../domain/password';\r\n\r\nexport class PasswordHistoryView implements View {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(ph?: Password) {\r\n if (!ph) {\r\n return;\r\n }\r\n\r\n this.lastUsedDate = ph.lastUsedDate;\r\n }\r\n}\r\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\r\n\r\nexport class Password extends Domain {\r\n password: CipherString;\r\n lastUsedDate: Date;\r\n\r\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n password: null,\r\n lastUsedDate: null,\r\n }, alreadyEncrypted, ['lastUsedDate']);\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new PasswordHistoryView(this), {\r\n password: null,\r\n }, orgId);\r\n return view;\r\n }\r\n\r\n toPasswordHistoryData(): PasswordHistoryData {\r\n const ph = new PasswordHistoryData();\r\n ph.lastUsedDate = this.lastUsedDate;\r\n this.buildDataModel(this, ph, {\r\n password: null,\r\n });\r\n return ph;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginData } from '../data/loginData';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Login extends Domain {\r\n uris: LoginUri[];\r\n username: CipherString;\r\n password: CipherString;\r\n passwordRevisionDate?: Date;\r\n totp: CipherString;\r\n\r\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = obj.passwordRevisionDate;\r\n this.buildDomainModel(this, obj, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, alreadyEncrypted, []);\r\n\r\n if (obj.uris) {\r\n this.uris = [];\r\n obj.uris.forEach((u) => {\r\n this.uris.push(new LoginUri(u, alreadyEncrypted));\r\n });\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new LoginView(this), {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, orgId);\r\n\r\n if (this.uris != null) {\r\n view.uris = [];\r\n for (let i = 0; i < this.uris.length; i++) {\r\n const uri = await this.uris[i].decrypt(orgId);\r\n view.uris.push(uri);\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toLoginData(): LoginData {\r\n const l = new LoginData();\r\n l.passwordRevisionDate = this.passwordRevisionDate;\r\n this.buildDataModel(this, l, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n });\r\n\r\n if (this.uris != null && this.uris.length > 0) {\r\n l.uris = [];\r\n this.uris.forEach((u) => {\r\n l.uris.push(u.toLoginUriData());\r\n });\r\n }\r\n\r\n return l;\r\n }\r\n}\r\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\r\n\r\nexport class PasswordHistoryData {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(response?: PasswordHistoryResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.password = response.password;\r\n this.lastUsedDate = response.lastUsedDate;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\r\n\r\nimport { LoginUriData } from './loginUriData';\r\n\r\nexport class LoginData {\r\n uris: LoginUriData[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n\r\n constructor(data?: LoginApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.username = data.username;\r\n this.password = data.password;\r\n this.passwordRevisionDate = data.passwordRevisionDate;\r\n this.totp = data.totp;\r\n\r\n if (data.uris) {\r\n this.uris = [];\r\n data.uris.forEach((u) => {\r\n this.uris.push(new LoginUriData(u));\r\n });\r\n }\r\n }\r\n}\r\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n try {\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n } catch { }\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\n

\n \n

\n \n \n

{{'noOrganizationsList' | i18n}}

\n
\n \n \n {{'newOrganization' | i18n}}\n \n
\n\n
\n

\n {{'organizations' | i18n}}\n \n \n \n

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n
\n \n \n
\n
\n
\n
\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 593;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if (((this.isEdge || this.isIE) && algorithm === 'sha1') || algorithm === 'md5') {\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\n if (algorithm === 'md5') {\n throw new Error('MD5 is not supported in WebCrypto.');\n }\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\n this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser;\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc: Document = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work in Firefox when modal is open if appending to body\n if (this.isFirefox() && doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da', 'de', 'fr', 'pt-PT', 'pt-BR', 'ru', 'sk',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class GeneratedPasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\r\n *\r\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\r\n * be returned, instead of calling the original function again\r\n *\r\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\r\n *\r\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\r\n * Read more at https://github.com/bitwarden/jslib/pull/7\r\n */\r\nexport function sequentialize(cacheKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const caches = new Map>>();\r\n\r\n const getCache = (obj: any) => {\r\n let cache = caches.get(obj);\r\n if (cache != null) {\r\n return cache;\r\n }\r\n cache = new Map>();\r\n caches.set(obj, cache);\r\n return cache;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const argsCacheKey = cacheKey(args);\r\n const cache = getCache(this);\r\n let response = cache.get(argsCacheKey);\r\n if (response != null) {\r\n return response;\r\n }\r\n\r\n response = originalMethod.apply(this, args).then((val: any) => {\r\n cache.delete(argsCacheKey);\r\n return val;\r\n }).catch((err: any) => {\r\n cache.delete(argsCacheKey);\r\n throw err;\r\n });\r\n\r\n cache.set(argsCacheKey, response);\r\n return response;\r\n },\r\n };\r\n };\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\r\n enabled: boolean;\r\n challenge: ChallengeResponse;\r\n\r\n constructor(response: any) {\r\n this.enabled = response.Enabled;\r\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\r\n }\r\n}\r\n\r\nexport class ChallengeResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n this.userId = response.UserId;\r\n this.appId = response.AppId;\r\n this.challenge = response.Challenge;\r\n this.version = response.Version;\r\n }\r\n}\r\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration != null ? new Date(response.Expiration) : null;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.passwordRevisionDate = data.PasswordRevisionDate;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class PasswordHistoryResponse {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(response: any) {\r\n this.password = response.Password;\r\n this.lastUsedDate = response.LastUsedDate;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail', 'enableGravatars',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n const lockOption = await this.get(ConstantsService.lockOptionKey);\n if (lockOption == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.lockOptionKey, 15);\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n LOCALE_ID,\r\n NgModule,\r\n} from '@angular/core';\r\n\r\nimport { ToasterModule } from 'angular2-toaster';\r\n\r\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\r\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\r\nimport { I18nService } from '../../services/i18n.service';\r\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\r\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\r\n\r\nimport { EventService } from './event.service';\r\nimport { OrganizationGuardService } from './organization-guard.service';\r\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\r\nimport { RouterService } from './router.service';\r\nimport { UnauthGuardService } from './unauth-guard.service';\r\n\r\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\nimport { ValidationService } from 'jslib/angular/services/validation.service';\r\n\r\nimport { Analytics } from 'jslib/misc/analytics';\r\n\r\nimport { ApiService } from 'jslib/services/api.service';\r\nimport { AppIdService } from 'jslib/services/appId.service';\r\nimport { AuditService } from 'jslib/services/audit.service';\r\nimport { AuthService } from 'jslib/services/auth.service';\r\nimport { CipherService } from 'jslib/services/cipher.service';\r\nimport { CollectionService } from 'jslib/services/collection.service';\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\nimport { ContainerService } from 'jslib/services/container.service';\r\nimport { CryptoService } from 'jslib/services/crypto.service';\r\nimport { EnvironmentService } from 'jslib/services/environment.service';\r\nimport { ExportService } from 'jslib/services/export.service';\r\nimport { FolderService } from 'jslib/services/folder.service';\r\nimport { LockService } from 'jslib/services/lock.service';\r\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\r\nimport { SettingsService } from 'jslib/services/settings.service';\r\nimport { StateService } from 'jslib/services/state.service';\r\nimport { SyncService } from 'jslib/services/sync.service';\r\nimport { TokenService } from 'jslib/services/token.service';\r\nimport { TotpService } from 'jslib/services/totp.service';\r\nimport { UserService } from 'jslib/services/user.service';\r\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\r\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\r\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\r\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\r\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\r\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\r\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\r\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\r\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\r\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\r\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\r\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\r\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\r\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\r\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\r\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\r\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\r\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\r\n\r\nconst i18nService = new I18nService(window.navigator.language, 'locales');\r\nconst stateService = new StateService();\r\nconst broadcasterService = new BroadcasterService();\r\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\r\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\r\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\r\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\r\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\r\n platformUtilsService);\r\nconst cryptoService = new CryptoService(storageService,\r\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\r\nconst tokenService = new TokenService(storageService);\r\nconst appIdService = new AppIdService(storageService);\r\nconst apiService = new ApiService(tokenService, platformUtilsService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst environmentService = new EnvironmentService(apiService, storageService);\r\nconst userService = new UserService(tokenService, storageService);\r\nconst settingsService = new SettingsService(userService, storageService);\r\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\r\n apiService, storageService, i18nService, platformUtilsService);\r\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\r\n i18nService, cipherService);\r\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\r\nconst lockService = new LockService(cipherService, folderService, collectionService,\r\n cryptoService, platformUtilsService, storageService, messagingService, null);\r\nconst syncService = new SyncService(userService, apiService, settingsService,\r\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\r\nconst totpService = new TotpService(storageService, cryptoFunctionService);\r\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\r\nconst authService = new AuthService(cryptoService, apiService,\r\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\r\nconst exportService = new ExportService(folderService, cipherService, apiService);\r\nconst auditService = new AuditService(cryptoFunctionService, apiService);\r\n\r\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\r\n platformUtilsService, storageService, appIdService);\r\ncontainerService.attachToWindow(window);\r\n\r\nexport function initFactory(): Function {\r\n return async () => {\r\n await (storageService as HtmlStorageService).init();\r\n const isDev = platformUtilsService.isDev();\r\n if (!isDev && platformUtilsService.isSelfHost()) {\r\n environmentService.baseUrl = window.location.origin;\r\n }\r\n await apiService.setUrls({\r\n base: isDev ? null : window.location.origin,\r\n api: isDev ? 'http://localhost:4000' : null,\r\n identity: isDev ? 'http://localhost:33656' : null,\r\n\r\n // Uncomment these (and comment out the above) if you want to target production\r\n // servers for local development.\r\n\r\n // base: null,\r\n // api: 'https://api.bitwarden.com',\r\n // identity: 'https://identity.bitwarden.com',\r\n });\r\n\r\n lockService.init(true);\r\n const locale = await storageService.get(ConstantsService.localeKey);\r\n await i18nService.init(locale);\r\n await authService.init();\r\n const htmlEl = window.document.documentElement;\r\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\r\n let theme = await storageService.get(ConstantsService.themeKey);\r\n if (theme == null) {\r\n theme = 'light';\r\n }\r\n htmlEl.classList.add('theme_' + theme);\r\n stateService.save(ConstantsService.disableFaviconKey,\r\n await storageService.get(ConstantsService.disableFaviconKey));\r\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\r\n };\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n ToasterModule,\r\n ],\r\n declarations: [],\r\n providers: [\r\n ValidationService,\r\n AuthGuardService,\r\n OrganizationGuardService,\r\n OrganizationTypeGuardService,\r\n UnauthGuardService,\r\n RouterService,\r\n EventService,\r\n { provide: AuditServiceAbstraction, useValue: auditService },\r\n { provide: AuthServiceAbstraction, useValue: authService },\r\n { provide: CipherServiceAbstraction, useValue: cipherService },\r\n { provide: FolderServiceAbstraction, useValue: folderService },\r\n { provide: CollectionServiceAbstraction, useValue: collectionService },\r\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\r\n { provide: TotpServiceAbstraction, useValue: totpService },\r\n { provide: TokenServiceAbstraction, useValue: tokenService },\r\n { provide: I18nServiceAbstraction, useValue: i18nService },\r\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\r\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\r\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\r\n { provide: ApiServiceAbstraction, useValue: apiService },\r\n { provide: SyncServiceAbstraction, useValue: syncService },\r\n { provide: UserServiceAbstraction, useValue: userService },\r\n { provide: MessagingServiceAbstraction, useValue: messagingService },\r\n { provide: BroadcasterService, useValue: broadcasterService },\r\n { provide: SettingsServiceAbstraction, useValue: settingsService },\r\n { provide: LockServiceAbstraction, useValue: lockService },\r\n { provide: StorageServiceAbstraction, useValue: storageService },\r\n { provide: StateServiceAbstraction, useValue: stateService },\r\n { provide: ExportServiceAbstraction, useValue: exportService },\r\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initFactory,\r\n deps: [],\r\n multi: true,\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useFactory: () => i18nService.translationLocale,\r\n deps: [],\r\n },\r\n ],\r\n})\r\nexport class ServicesModule {\r\n}\r\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
\n {{billing.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n {{'filters' | i18n}}\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: GeneratedPasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\r\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let i = 1;\r\n results.forEach((value) => {\r\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\r\n value.Folder.replace('/', '') : value.Folder;\r\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Note);\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Login);\r\n cipher.login.password = this.getValueOrDefault(value.Pwd);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n this.cleanupCipher(cipher);\r\n\r\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\r\n return;\r\n }\r\n result.ciphers.push(cipher);\r\n i++;\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === value.grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = value.grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n const fieldParts = extraPart.split(':');\r\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\r\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (fieldParts[0] === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + fieldParts[1]);\r\n } else {\r\n notes = fieldParts[1];\r\n }\r\n } else if (map.hasOwnProperty(fieldParts[0])) {\r\n dataObj[map[fieldParts[0]]] = fieldParts[1];\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n\r\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'lockOptionsDesc' | i18n}}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from '../../misc/duo';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: [{\r\n version: challenges[0].version,\r\n keyHandle: challenges[0].keyHandle,\r\n }],\r\n });\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch (e) {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\n
\n © 2018, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeFr from '@angular/common/locales/fr';\nimport localePt from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\n\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeDe, 'fr');\nregisterLocaleData(localePt, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./src/app/components/callout.component.ts","webpack:///./src/app/components/callout.component.html","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/models/domain/domain.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./src/app/components/avatar.component.ts.AvatarComponent.html","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/abstractions/lock.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./src/app/vault/vault.component.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/register.component.ts","webpack:///./jslib/src/misc/duo.js","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/lock.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/update-license.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./src/app/layouts/navbar.component.html","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/i18n.service.ts","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/organizationBillingResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/groupUserResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/collectionUserResponse.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/services/index.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/vault/add-edit.component.html","webpack:///./src/app/modal.component.ts.ModalComponent.html","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.html","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/tools/export.component.html","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./jslib/src/enums/eventType.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./src/app/vault/groupings.component.html","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/tools/breach-report.component.html","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/importers/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/premium.component.html","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.html","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/settings.component.html","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/enums/index.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/app.module.ts","webpack:///./src/app/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","3","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","ApiService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","PlatformUtilsService","ValidationService","toasterService","showError","defaultErrorMessage","errors","validationErrors","message","forEach","item","popAsync","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","UserService","CryptoService","CipherService","MessagingService","ImportResult","success","ciphers","folders","folderRelationships","collections","collectionRelationships","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","BaseImporter","organization","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","splitNewLine","join","trim","parse","encoding","skipEmptyLines","console","warn","row","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","toLowerCase","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","moveFoldersToCollections","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","cipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","search","field","FieldView","FieldType","Text","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","TokenService","StateService","CalloutComponent","ngOnInit","calloutStyle","undefined","title","icon","_l","i0","ɵeld","_ck","_v","_co","component","ɵinlineInterpolate","ɵted","ɵand","View_CalloutComponent_2","ɵdid","i1","NgIf","ViewContainerRef","TemplateRef","ngIf","View_CalloutComponent_1","ɵncd","nodeURL","URL","init","inited","isNode","process","release","isBrowser","isMobileBrowser","isMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromHexToArray","parseInt","substr","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","fromUrlB64ToUtf8","b64Str","output","Error","fromB64ToUtf8","newGuid","Math","random","uriString","getUrl","getHost","host","getQueryParams","Map","pair","parts","set","getSortFunction","prop","a","b","collator","compare","localeCompare","win","mobile","navigator","userAgent","vendor","opera","hasProtocol","anchor","document","createElement","href","CollectionService","InputVerbatimDirective","renderer","condition","disableComplete","hasAttribute","setAttribute","FolderService","StopClickDirective","onClick","$event","preventDefault","SyncService","PasswordVerificationRequest","TwoFactorProviderType","AutofocusDirective","autofocus","focus","cipherString_1","Domain","buildDomainModel","domain","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","_a","sent","CryptoFunctionService","StopPropDirective","stopPropagation","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","__extends","ngOnDestroy","show","parentContainer","fade","factory","resolveComponentFactory","componentRef","container","createComponent","modals","modal","on","onShow","emit","onShown","find","onClose","onClosed","clear","instance","close","PasswordGenerationService","AuthService","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","lockOptionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","disableChangedPasswordNotificationKey","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","collectionIds","organizationId","folderId","edit","organizationUseTotp","revisionDate","LoginData","SecureNoteData","Card","card","CardData","Identity","identity","IdentityData","FieldData","attachments","attachment","AttachmentData","passwordHistory","ph","PasswordHistoryData","CardView","expMonth","_brand","code","repeat","_subTitle","_number","brand","number","expYear","exp","formatYear","year","AvatarComponent","sanitizer","cryptoFunctionService","stateService","size","charCount","textColor","fontSize","fontWeight","dynamic","circle","generate","email","hash","hashBytes","src","chars","upperData","toUpperCase","getFirstLetters","charObj","getCharText","color","stringToColor","svg","getSvg","appendChild","html","outerHTML","svgHtml","count","text","svgTag","style","backgroundColor","width","height","character","textTag","textContent","StorageService","core_1","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","apiService","cryptoService","onAuthed","EventEmitter","submit","masterPassword","request","_b","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","CollectionData","readOnly","Keys","stripeTest","stripeLive","btSandbox","btProduction","PaymentComponent","platformUtilsService","showOptions","method","hideBank","hidePaypal","exp_month","exp_year","address_country","address_zip","bank","routing_number","account_number","account_holder_name","account_holder_type","currency","country","btInstance","stripeScript","async","onload","Stripe","setPublishableKey","isDev","btScript","cardExpMonthOptions","cardExpYearOptions","Date","getFullYear","head","removeChild","body","btStylesheet","changeMethod","setTimeout","braintree","dropin","authorization","paymentOptionPriority","paypal","flow","buttonStyle","label","shape","createErr","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","createObj","bankAccount","sourceObj","createToken","status","getCountry","AuditService","NgClass","IterableDiffers","KeyValueDiffers","ElementRef","Renderer2","ngClass","ɵpod","rounded-circle","bypassSecurityTrustResourceUrl","EnvironmentService","en","ad","i3","NgForm","ngSubmit","ɵprd","ControlContainer","NgControlStatusGroup","i4","i5","ɵppd","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","RequiredValidator","required","NG_VALIDATORS","p0_0","NG_VALUE_ACCESSOR","NgModel","model","update","NgControl","NgControlStatus","i6","appInputVerbatim","ɵnov","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","ɵunv","cipherData_1","attachment_1","card_1","domain_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","obj","localData","Attachment","Field","Password","_f","_c","_e","attachments_1","reduce","promise","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","default","Collection","passwordRevisionDate","hasUris","canLaunch","subTitle","CipherRequest","totp","cardholderName","firstName","middleName","lastName","address1","address2","address3","city","state","postalCode","company","phone","ssn","passportNumber","licenseNumber","lastUsedDate","fileName","DeviceType","BroadcasterService","subscribers","send","has","subscribe","messageCallback","unsubscribe","delete","OrganizationUserType","deviceType_1","eventType_1","EventService","getDefaultDateFilters","end","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","toISOString","getEventInfo","ev","options","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Enabled2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","Organization_Updated","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","ExportService","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","TotpService","OrganizationsComponent","userService","syncService","vault","loaded","load","getAllOrganizations","orgs","sort","organizations","leave","org","actionPromise","postLeaveOrganization","fullSync","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","LockService","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","getCryptoService","getOrgKey","orgKey","decryptToUtf8","ExportComponent","exportService","saved","cipherRequest_1","folderRequest_1","importCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","blurCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","dashlaneCsvImporter_1","enpassCsvImporter_1","firefoxCsvImporter_1","gnomeJsonImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","onepassword1PifImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","zohoVaultCsvImporter_1","ImportComponent","cipherService","folderService","format","successNavigate","setImportOptions","importOptions","importer","getImporter","fileEl","getElementById","files","fileContents","getFileContents","content","importResult","halfway","last","badData","postImport","properties","navigate","getFormatInstructionTitle","results","featuredImportOptions","concat","ImportCiphersRequest","encrypt","FolderRequest","KvpRequest","postImportCiphers","BitwardenCsvImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","PasswordSafeXmlImporter","DashlaneCsvImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","errorMessage","file","reader","FileReader","readAsText","evt","pre","target","onerror","auth_service_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","TwoFactorSetupComponent","tokenService","messagingService","providers","premium","getPremium","TwoFactorProviders","filterProvider","description","getTwoFactorProviders","manage","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","TwoFactorDuoComponent","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryCode","recoveryModalRef","TwoFactorRecoveryComponent","premiumRequired","ref","childComponent","_uri","_domain","getPlatformUtilsService","getDomain","_hostname","IdentityView","_firstName","_lastName","name_1","ciphers_component_1","search_ciphers_pipe_1","CiphersComponent","showAddNew","onAttachmentsClicked","onShareClicked","onCollectionsClicked","cipherType","searchPipe","SearchCiphersPipe","selectAll","checkCipher","select","checked","filteredCiphers","searchText","selectCount","getSelected","getSelectedIds","share","deleteCipher","refresh","copy","typeI18nKey","aType","copyToClipboard","deleteWithServer","GroupingsComponent","collectionService","onSearchTextChanged","searchPlaceholder","searchTextChanged","authResult_1","deviceRequest_1","keysRequest_1","tokenRequest_1","priority","appIdService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makeKey","hashedPassword","logInHelper","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","logInComplete","logOut","callback","getSupportedTwoFactorProviders","twoFactorProviders","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","tokenResponse","setTwoFactorToken","setTokens","refreshToken","setUserIdAndEmail","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_1","setEncPrivateKey","SelectionReadOnlyResponse","Id","ReadOnly","verifyBankRequest_1","paymentMethodType_1","planType_1","OrganizationBillingComponent","route","firstLoaded","adjustSeatsAdd","showAdjustSeats","adjustStorageAdd","showAdjustStorage","showAdjustPayment","showUpdateLicense","paymentMethodType","PaymentMethodType","selfHosted","isSelfHost","parent","params","__awaiter","getOrganizationBilling","billing","reinstate","reinstatePromise","postOrganizationReinstate","cancel","cancelPromise","postOrganizationCancel","changePlan","launchUri","downloadLicense","installationId","prompt","licensePromise","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","updateLicense","verifyBank","VerifyBankRequest","amount1","verifyAmount1","amount2","verifyAmount2","verifyBankPromise","postOrganizationVerifyBank","closeUpdateLicense","adjustSeats","add","closeSeats","adjustStorage","closeStorage","changePayment","closePayment","viewInvoice","charge","getToken","token","apiBaseUrl","invoiceId","expiration","subscription","cancelled","cancelAtEndDate","upcomingInvoice","paymentSource","charges","maxStorageGb","storageGb","toFixed","storagePercentage","planType","PlanType","EnterpriseMonthly","TeamsMonthly","billingInterval","EnterpriseAnnually","TeamsAnnually","Free","duoComp","getTwoFactorOrganizationProviders","organizationUpdateRequest_1","delete_organization_component_1","AccountComponent","getOrganization","OrganizationUpdateRequest","businessName","billingEmail","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","SettingsComponent","access2fa","use2fa","organizationUserConfirmRequest_1","organizationUserStatusType_1","organizationUserType_1","entity_events_component_1","user_add_edit_component_1","user_groups_component_1","PeopleComponent","statusMap","organizationUserType","organizationUserStatusType","OrganizationUserStatusType","accessEvents","accessGroups","useEvents","useGroups","queryParams","qParams","viewEvents","user","users","Confirmed","getOrganizationUsers","allUsers","Invited","Accepted","addEditModalRef","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","invite","groups","groupsModalRef","UserGroupsComponent","remove","deleteOrganizationUser","reinvite","postOrganizationUserReinvite","confirm","doConfirmation","eventsModalRef","EntityEventsComponent","entityId","showUser","entity","getUserPublicKey","publicKeyResponse","publicKey","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","index","entity_users_component_1","group_add_edit_component_1","GroupsComponent","getGroups","group","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","usersModalRef","EntityUsersComponent","entityName","EventsComponent","eventService","orgUsersUserIdMap","orgUsersIdMap","defaultDates","loadEvents","clearExisting","refreshPromise","morePromise","dates","getEventsOrganization","continuationToken","actingUserId","eventInfo","userName","userEmail","ip","ipAddress","onRemovedUser","loadUsers","getGroupUsers","getCollectionUsers","accessAll","deleteGroupUser","deleteCollectionUser","SelectionReadOnlyRequest","collectionData_1","collection_1","collection_add_edit_component_1","CollectionsComponent","getCollections","decryptMany","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","SearchPipe","items","prop1","prop2","prop3","ManageComponent","getExportData","getOrganizationExport","getFileName","collectionRequest_1","importOrganizationCiphersRequest_1","ImportOrganizationCiphersRequest","CollectionRequest","postImportOrganizationCiphers","ToolsComponent","getEventsOrganizationUser","getEventsCipher","add_edit_component_1","attachments_component_1","collections_component_1","VaultComponent","location","showAdd","isAdmin","groupingsComponent","ciphersComponent","selectedAll","selectedType","filterCipherType","selectedCollectionId","filterCollection","clearGroupingFilters","applyFilter","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","AttachmentsComponent","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","addCipher","editCipher","cipherAddEditModalRef","AddEditComponent","onSavedCipher","onDeletedCipher","createUrlTree","cipher_1","onEventsClicked","getCiphersOrganization","decCiphers_1","promises_1","getLocaleSortingFunction","allCiphers","deleteCipherAdmin","loadCollections","collectionDomains","unassignedCollection","OrganizationLayoutComponent","classList","BreachReportComponent","auditService","breachedAccounts","checkedUsername","password_generator_component_1","password_generator_history_component_1","PasswordGeneratorComponent","passwordGenerationService","history","historyModalRef","PasswordGeneratorHistoryComponent","organizationCreateRequest_1","CreateOrganizationComponent","ownedBusiness","storageGbPriceMonthly","additionalStorage","additionalSeats","plan","interval","price","monthlyPrice","yearlyPrice","plans","free","basePrice","noAdditionalSeats","noPayment","families","annualBasePrice","baseSeats","annualPlanType","FamiliesAnnually","teams","monthlyBasePrice","seatPrice","annualSeatPrice","monthlySeatPrice","monthPlanType","enterprise","collectionCt","makeShareKey","shareKey","paymentComponent","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","paymentToken","additionalStorageGb","postOrganization","finalize","refreshIdentityToken","changedPlan","changedOwnedBusiness","additionalStorageTotal","annual","seatTotal","baseTotal","UserBillingComponent","getUserBilling","postReinstatePremium","postCancelPremium","paymentRequest_1","AdjustPaymentComponent","onAdjusted","onCanceled","request_1","PaymentRequest","postAccountPayment","postOrganizationPayment","currentType","storageRequest_1","AdjustStorageComponent","storageGbPrice","storageAdjustment","StorageRequest","storageGbAdjustment","postAccountStorage","postOrganizationStorage","UpdateLicenseComponent","postAccountLicense","postOrganizationLicenseUpdate","PremiumComponent","premiumPrice","getEmailVerified","finalizePremium","postPremium","RadioControlValueAccessor","ɵi","Injector","p1_0","View_PaymentComponent_2","i2","View_PaymentComponent_3","NgSelectOption","SelectControlValueAccessor","ngValue","ɵq","context","$implicit","PatternValidator","pattern","View_PaymentComponent_5","NgForOf","ngForOf","View_PaymentComponent_6","cvc","View_CalloutComponent_0","RenderType_CalloutComponent","View_PaymentComponent_1","View_PaymentComponent_4","View_PaymentComponent_7","View_PaymentComponent_8","updateTwoFactorDuoRequest_1","processResponse","UpdateTwoFactorDuoRequest","integrationKey","ikey","secretKey","skey","putTwoFactorOrganizationDuo","putTwoFactorDuo","updateDomainsRequest_1","DomainRulesComponent","custom","getSettingsDomains","equivalentDomains","globalEquivalentDomains","domains","excluded","toggleExcluded","globalDomain","customize","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","indexTrackBy","constants_service_1","OptionsComponent","storageService","lockService","lockOption","lockOptions","localeOptions","supportedTranslationLocales","locale","disableIcons","enableGravatars","startingLocale","setLockOption","save","reload","deauthorize_sessions_component_1","delete_account_component_1","purge_vault_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","purgeVault","purgeModalRef","PurgeVaultComponent","deleteAccount","DeleteAccountComponent","broadcasterService","ngZone","run","command","loadCipher","cipherDomain","loadCipherCollections","saveCollections","check","getAllDecrypted","saveCollectionsWithServer","totpService","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","passwordRevisionDisplayDate","cleanUp","isPremium","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","toggleFavorite","launch","generatePassword","confirmed","getOptions","upgradeOrganization","viewHistory","clearInterval","getCode","totpCode","half","totpCodeFormatted","intervalSeconds","epoch","round","mod","totpSec","totpDash","totpLow","folder","update_key_component_1","bulk_delete_component_1","bulk_move_component_1","bulk_share_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","hasEncKey","organizationsComponent","inOrgWithPremium","selectedFavorites","filterFavorites","selectedFolder","selectedFolderId","filterFolder","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","editFolder","onDeletedFolder","bulkDelete","selectedIds","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkShare","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMove","bulkMoveModalRef","BulkMoveComponent","onMoved","updateKey","updateKeyModalRef","UpdateKeyComponent","usersGetPremium","UriMatchType","enums_1","onlySearchName","getDevice","IconComponent","environmentService","iconsUrl","baseUrl","imageEnabled","setLoginIcon","hostnameUri","isWebsite","image","fallbackImage","UserLayoutComponent","FooterComponent","version","getApplicationVersion","NavbarComponent","getName","lock","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","fired","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","organizationUserAcceptRequest_1","AcceptOrganizationComponent","isAuthenticated","OrganizationUserAcceptRequest","postOrganizationUserAccept","toast","timeout","orgName","organizationName","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","LockComponent","routerService","hasKey","successRoute","HintComponent","RegisterComponent","authService","showCreateOrgMessage","showTerms","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","duoSig","appSig","iframe","submitCallback","DUO_MESSAGE_FORMAT","DUO_ERROR_FORMAT","DUO_OPEN_WINDOW_FORMAT","VALID_OPEN_WINDOW_DOMAINS","iframeId","postAction","postArgument","throwError","getDataAttribute","element","dataset","getAttribute","fallbackEvent","addEventListener","attachEvent","off","removeEventListener","detachEvent","onReady","offReady","parseSigRequest","sig","sigParts","sigRequest","onDOMReady","ready","isDuoMessage","Boolean","origin","onReceivedMessage","parser","protocol","endsWith","isValidUrlToOpen","open","doPostBack","input","form","parentElement","insertBefore","nextSibling","sig_request","post_action","post_argument","tagName","submit_callback","_onReady","_parseSigRequest","_isDuoMessage","_doPostBack","two_factor_options_component_1","TwoFactorComponent","onSuccessfulLoginNavigate","goAfterLogIn","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","selectedProviderType","onRecoverSelected","loginRedirect","LoginComponent","FrontendLayoutComponent","SettingsService","UnauthGuardService","canActivate","OrganizationTypeGuardService","allowedTypes","OrganizationGuardService","isOwner","AuthGuardService","organization_1","setSecurityStamp","stamp","getSecurityStamp","clearOrganizations","Organization","replaceOrganizations","b32Chars","period","alg","digits","keyB32","digitParams","periodParam","algParam","timeHex","leftpad","dec2hex","timeBytes","keyBytes","b32tobytes","sign","offset","otp","pow","isAutoCopyEnabled","b32tohex","cleanedInput","bits","hex","byteIndex","charAt","chunk","hmac","signature","setToken","setRefreshToken","decodedToken","getRefreshToken","clearTwoFactorToken","clearToken","decodeToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","tokenNeedsRefresh","minutes","sub","email_verified","getIssuer","iss","folderData_1","organizationData_1","settingsService","logoutCallback","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","syncStarted","syncCompleted","successfully","forceSync","now","needsSyncing","needsSyncResult","needsSync","getSync","syncProfile","profile","syncFolders","syncCollections","syncCiphers","syncSettings","getAccountRevisionDate","accountRevisionDate","securityStamp","setOrgKeys","OrganizationData","FolderData","eqDomains","setEquivalentDomains","purge","clearCache","settingsCache","getEquivalentDomains","getSettingsKey","setSettingsKey","getSettings","settings","generatedPasswordHistory_1","DefaultOptions","ambiguous","minNumber","uppercase","minUppercase","lowercase","minLowercase","special","minSpecial","assign","minLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomNumber","randomCharIndex","optionsCache","saveOptions","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","GeneratedPasswordHistory","pop","encryptHistory","newHistory","decrypted","array","lockedCallback","checkOnInterval","checkLock","isViewOpen","lockTimeout","lastActive","lockOptionSeconds","clearKey","clearOrgKeys","clearKeyPair","clearEncKey","toggleKey","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","folder_1","decryptedFolderCache","Folder","getAll","decFolders","noneFolder","saveWithServer","postFolder","putFolder","upsert","cId","updates","deleteFolder","environmentUrls_1","getWebVaultUrl","webVaultUrl","setUrlsFromStorage","urlsObj","urls","base","api","icons","webVault","envUrls","EnvironmentUrls","setUrls","apiUrl","identityUrl","formatUrl","encryptedObject_1","symmetricCryptoKey_1","sequentialize_1","ɵ1","secureStorageService","keyB64","keyHash","encKey","encPrivateKey","orgKeys","getKey","SymmetricCryptoKey","getKeyHash","getEncKey","encKeyCipher","decEncKey","stretchKey","newKey","getPublicKey","getPrivateKey","rsaExtractPublicKey","getOrgKeys","encOrgKeys","rsaDecrypt","decValue","legacyEtmKey","clearKeyHash","memoryOnly","clearKeys","option","salt","pbkdf2","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeEncKey","encKeyEnc","plainValue","plainBuf","aesEncrypt","encObj","encryptToBytes","encValue","macLen","encBytes","macKey","Rsa2048_OaepSha1_HmacSha256_B64","macBytes","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","decryptFromBytes","encBuf","ctBytes","ivBytes","min","max","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","byteArray","EncryptedObject","getKeyForEncryption","macData","keyForEnc","theKey","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","Rsa2048_OaepSha256_HmacSha256_B64","hkdfExpand","prk","info","hashLen","okm","previousT","__decorate","sequentialize","ɵ0","ContainerService","attachToWindow","attachToGlobal","decryptedCollectionCache","decCollections","uriMatchType_1","loginUri_1","cipherBulkDeleteRequest_1","cipherBulkMoveRequest_1","cipherBulkShareRequest_1","cipherCollectionsRequest_1","cipherShareRequest_1","passwordHistoryView_1","decryptedCipherCache","existingCipher","PasswordHistoryView","hasFields","existingHiddenFields","Hidden","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","sizeName","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","decCiphers","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","eqDomainsPromise","matches","eqDomain","matchingDomains","Host","urlHost","Exact","StartsWith","RegularExpression","Never","getLastUsedForUrl","sortCiphersByLastUsed","updateLastUsedDate","ciphersLocalData","cached","saveNeverDomain","postCipher","putCipher","shareWithServer","encCipher","CipherShareRequest","putShareCipher","shareManyWithServer","encCiphers","_i","ciphers_1","CipherBulkShareRequest","putShareCiphers","shareAttachmentWithServer","attachmentView","fetch","Request","cache","attachmentResponse","arrayBuffer","buf","decBuf","encData","encFileName","blob","Blob","filepath","contentType","postShareCipherAttachment","getSingleMessage","saveAttachmentWithServer","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","e_2","filename","postCipherAttachmentAdmin","postCipherAttachment","e_3","CipherCollectionsRequest","putCipherCollections","moveManyWithServer","ids","putMoveCiphers","CipherBulkMoveRequest","deleteManyWithServer","deleteManyCiphers","CipherBulkDeleteRequest","deleteAttachment","attachmentId","deleteAttachmentWithServer","deleteCipherAttachment","e_4","aLastUsed","bLastUsed","sortCiphersByLastUsedThenName","aName","bName","theObj","modelProp","LoginUri","breachAccountResponse_1","passwordLeaked","hashStart","hashEnding","leakedHashes","v","json","BreachAccountResponse","AppIdService","makeAndGetAppId","getAnonymousAppId","existingId","guid","profileOrganizationResponse_1","ProfileResponse","Name","emailVerified","EmailVerified","masterPasswordHint","MasterPasswordHint","Premium","culture","Culture","twoFactorEnabled","TwoFactorEnabled","Key","PrivateKey","SecurityStamp","Organizations","ProfileOrganizationResponse","OrganizationResponse","BusinessName","businessAddress1","BusinessAddress1","businessAddress2","BusinessAddress2","businessAddress3","BusinessAddress3","businessCountry","BusinessCountry","businessTaxNumber","BusinessTaxNumber","BillingEmail","Plan","seats","Seats","maxCollections","MaxCollections","MaxStorageGb","UseGroups","useDirectory","UseDirectory","UseEvents","useTotp","UseTotp","Use2fa","FolderResponse","RevisionDate","globalDomainResponse_1","DomainsResponse","EquivalentDomains","GlobalEquivalentDomains","GlobalDomainResponse","selectionReadOnlyResponse_1","CollectionResponse","OrganizationId","CollectionDetailsResponse","CollectionGroupDetailsResponse","Groups","g","attachmentResponse_1","passwordHistoryResponse_1","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","secureNoteApi_1","CipherResponse","FolderId","Type","Notes","Favorite","Edit","OrganizationUseTotp","LoginApi","CardApi","IdentityApi","SecureNoteApi","Fields","FieldApi","Attachments","AttachmentResponse","PasswordHistory","PasswordHistoryResponse","CollectionIds","BillingResponse","storageName","StorageName","StorageGb","PaymentSource","BillingSourceResponse","Subscription","BillingSubscriptionResponse","UpcomingInvoice","BillingInvoiceResponse","Charges","BillingChargeResponse","License","Expiration","cardBrand","CardBrand","Description","needsVerification","NeedsVerification","trialEndDate","TrialStartDate","TrialEndDate","periodStartDate","PeriodStartDate","periodEndDate","PeriodEndDate","cancelledDate","CancelledDate","CancelAtEndDate","Status","Cancelled","Items","BillingSubscriptionItemResponse","amount","Amount","quantity","Quantity","Interval","createdDate","CreatedDate","failureMessage","FailureMessage","refunded","Refunded","partiallyRefunded","PartiallyRefunded","refundedAmount","RefundedAmount","InvoiceId","billingResponse_1","cipherResponse_1","collectionResponse_1","collectionUserResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","groupUserResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationBillingResponse_1","organizationResponse_1","organizationUserResponse_1","profileResponse_1","syncResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","identityBaseUrl","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","headers","Headers","Content-Type","Accept","Device-Type","responseJson","typeHeader","IdentityTokenResponse","TwoFactorProviders2","keys","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","getProfile","putProfile","postEmailToken","postEmail","postPassword","postSecurityStamp","postPasswordHint","postRegister","postAccountKey","postAccountVerifyEmail","getCipher","getCipherAdmin","ListResponse","postCipherAdmin","putCipherAdmin","putCipherCollectionsAdmin","postPurgeCiphers","deleteCipherAttachmentAdmin","getCollectionDetails","CollectionUserResponse","postCollection","putCollection","getGroupDetails","GroupDetailsResponse","GroupResponse","GroupUserResponse","postGroup","putGroup","getOrganizationUser","OrganizationUserDetailsResponse","getOrganizationUserGroups","OrganizationUserUserDetailsResponse","postOrganizationUserInvite","putOrganizationUser","putOrganizationUserGroups","path","SyncResponse","postImportDirectory","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","TwoFactorRecoverResponse","putTwoFactorAuthenticator","putTwoFactorEmail","putTwoFactorYubiKey","putTwoFactorU2f","postTwoFactorEmailSetup","postTwoFactorEmail","OrganizationBillingResponse","postOrganizationSeat","getEvents","addEventParameters","EventResponse","UserKeyResponse","hasResponse","requestInit","handleTokenState","authHeader","handleError","tokenError","grant_type","client_id","refresh_token","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","BoxRowDirective","elRef","formEls","formEl","inputEl","click","seatRequest_1","AdjustSeatsComponent","seatAdjustment","SeatRequest","organizationUserUpdateGroupsRequest_1","groupsResponse","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","selectionReadOnlyRequest_1","editMode","User","access","OrganizationUserUpdateRequest","OrganizationUserInviteRequest","emails","deletePromise","groupRequest_1","externalId","GroupRequest","saveCipherAttachment","encryptCipher","saveCipher","loginUriData_1","toLoginUriData","LoginUriData","view","identityView_1","cardView_1","attachmentView_1","AttachmentView","i7","View_PaymentComponent_0","RenderType_PaymentComponent","i8","i9","View_AdjustPaymentComponent_1","i11","View_AdjustPaymentComponent_2","canChange","adjustedStorageTotal","ɵbc","View_AdjustStorageComponent_1","updateTwoFactorYubioOtpRequest_1","nfc","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","disablePromise","existingKey","padRight","updateTwoFactorU2fRequest_1","closed","u2fScript","readDevice","UpdateTwoFactorU2fRequest","deviceResponse","u2fResponse","log","u2fError","u2fListening","u2f","register","u2fChallenge","challenge","errorCode","print","w","write","formatString","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sendEmail","TwoFactorEmailRequest","emailPromise","sentEmail","UpdateTwoFactorEmailRequest","updateTwoFactorAuthenticatorRequest_1","qrScript","UpdateTwoFactorAuthenticatorRequest","QRious","passwordRequest_1","ChangePasswordComponent","currentMasterPassword","newMasterPassword","confirmNewMasterPassword","PasswordRequest","newMasterPasswordHash","newEncKey","EmailTokenRequest","emailRequest_1","emailTokenRequest_1","ChangeEmailComponent","tokenSent","newEmail","EmailRequest","reset","updateProfileRequest_1","ProfileComponent","UpdateProfileRequest","writeableCollections","allCollections","filterCollections","cipherView","attachmentPromises","checkedCollectionIds","nonShareableCount","shareableCiphers","hasAttachments","CipherWithIdRequest","cipherWithIdRequest_1","folderWithIdRequest_1","updateKeyRequest_1","makeRequest","UpdateKeyRequest","FolderWithIdRequest","ɵpad","View_OrganizationsComponent_6","View_OrganizationsComponent_5","View_OrganizationsComponent_4","View_OrganizationsComponent_7","View_OrganizationsComponent_2","View_OrganizationsComponent_3","View_AvatarComponent_0","RenderType_AvatarComponent","DomSanitizer","View_OrganizationsComponent_16","View_OrganizationsComponent_15","View_OrganizationsComponent_13","View_OrganizationsComponent_14","i10","View_OrganizationsComponent_9","View_OrganizationsComponent_10","View_OrganizationsComponent_11","View_OrganizationsComponent_12","View_OrganizationsComponent_1","View_OrganizationsComponent_8","View_IconComponent_1","View_IconComponent_2","VerifyEmailComponent","klass","bg-secondary-alt","RouterLinkActive","Router","ChangeDetectorRef","routerLinkActive","ɵqud","links","linksWithHrefs","View_NavbarComponent_1","encryptedPrivateKey","_swal","angular2_toaster_1","swal","AppComponent","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","limit","lastActivity","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","expired","modals_1","webpackEmptyAsyncContext","req","frontend_layout_component_1","organization_layout_component_1","user_layout_component_1","accept_organization_component_1","hint_component_1","lock_component_1","login_component_1","recover_delete_component_1","recover_two_factor_component_1","register_component_1","two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","account_component_1","organization_billing_component_1","settings_component_1","two_factor_setup_component_1","export_component_1","import_component_1","tools_component_1","vault_component_1","account_component_2","create_organization_component_1","domain_rules_component_1","options_component_1","organizations_component_1","premium_component_1","settings_component_2","two_factor_setup_component_2","user_billing_component_1","breach_report_component_1","export_component_2","import_component_2","tools_component_2","vault_component_2","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","ɵ2","ɵ3","ɵ4","ɵ5","ɵ6","ɵ7","ɵ8","ɵ9","ɵ10","ɵ11","ɵ12","ɵ13","ɵ14","ɵ15","ɵ16","ɵ17","ɵ18","ɵ19","ɵ20","Owner","Admin","ɵ21","ɵ22","ɵ23","ɵ24","ɵ25","ɵ26","ɵ27","ɵ28","ɵ29","ɵ30","ɵ31","AppRoutingModule","DecryptParameters","forge","decryptParameters_1","WebCryptoFunctionService","crypto","subtle","isEdge","isIE","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","md","md5","sha1","valueBytes","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","meta","encKeyByteString","macKeyByteString","decode64","encKeyB64","macKeyB64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","getExport","foldersMap","exportCiphers","buildCommonCipher","unparse","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap","prefix","dateString","padNumber","getSeconds","padCharacter","numString","login_uri","login_username","login_password","login_totp","GaObj","AnalyticsIds","Analytics","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","deps","appVersion","isMacAppStore","analyticsId","GoogleAnalyticsObject","param1","param2","ga","disabled","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","newPathParts","WebPlatformUtilsService","browserCache","chrome","getDeviceString","isFirefox","isChrome","isOpera","isVivaldi","isSafari","rel","blobData","blobOptions","msSaveOrOpenBlob","msSaveBlob","createObjectURL","download","position","showToast","confirmText","cancelText","buttons","contentDiv","contains","titleDiv","createTextNode","textDiv","clipboardData","setData","queryCommandSupported","textarea","copyEl","execCommand","MemoryStorageService","store","filePath","selfHost","cacheKey","propertyKey","descriptor","originalMethod","caches","args","arguments","argsCacheKey","getCache","addedDate","AddedDate","breachDate","BreachDate","dataClasses","DataClasses","isActive","IsActive","isVerified","IsVerified","logoType","LogoType","modifiedDate","ModifiedDate","pwnCount","PwnCount","Title","UserId","PublicKey","Enabled","Key1","Key2","Key3","Key4","Key5","Nfc","Challenge","ChallengeResponse","AppId","Version","Code","SecretKey","IntegrationKey","Profile","Folders","Collections","Ciphers","Domains","SelfHost","UsersGetPremium","OrganizationUserResponse","AccessAll","Data","dr","ContinuationToken","access_token","expiresIn","expires_in","tokenType","token_type","TwoFactorToken","OrganizationUserId","ExternalId","CipherId","CollectionId","GroupId","ActingUserId","IpAddress","identityResponse","errorModel","ErrorModel","Message","ValidationErrors","statusCode","Excluded","LoginUriApi","Uri","Match","loginUriApi_1","Username","PasswordRevisionDate","Totp","Uris","FirstName","MiddleName","LastName","Address1","Address2","Address3","City","State","PostalCode","Country","Company","Phone","SSN","PassportNumber","LicenseNumber","Value","CardholderName","Brand","Number","ExpMonth","ExpYear","LastUsedDate","Url","FileName","Size","SizeName","api_service_1","appId_service_1","audit_service_1","cipher_service_1","collection_service_1","container_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","lock_service_1","passwordGeneration_service_1","settings_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","services_1","HtmlStorageService","localStorageKeys","Set","localStorageStartsWithKeys","isLocalStorage","localStorage","getItem","sessionStorage","setItem","removeItem","swKey","BroadcasterMessagingService","subscriber","arg","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","broadcaster_service_1","analytics_1","export_service_1","webCryptoFunction_service_1","language","__generator","initFactory","_g","htmlEl","documentElement","theme","ServicesModule","View_ToasterContainerComponent_0","RenderType_ToasterContainerComponent","ToasterContainerComponent","ToasterService","NgZone","toasterconfig","RouterOutlet","ChildrenOutletContexts","ComponentFactoryResolver","appAutofocus","View_TwoFactorVerifyComponent_0","RenderType_TwoFactorVerifyComponent","View_TwoFactorYubiKeyComponent_5","View_TwoFactorYubiKeyComponent_6","i12","i13","View_TwoFactorYubiKeyComponent_3","View_TwoFactorYubiKeyComponent_4","CheckboxControlValueAccessor","View_TwoFactorYubiKeyComponent_7","View_TwoFactorYubiKeyComponent_1","View_TwoFactorYubiKeyComponent_2","View_TwoFactorU2fComponent_5","View_TwoFactorU2fComponent_6","View_TwoFactorU2fComponent_7","View_TwoFactorU2fComponent_10","View_TwoFactorU2fComponent_11","View_TwoFactorU2fComponent_3","View_TwoFactorU2fComponent_4","View_TwoFactorU2fComponent_8","View_TwoFactorU2fComponent_9","View_TwoFactorU2fComponent_1","View_TwoFactorU2fComponent_2","View_TwoFactorRecoveryComponent_3","View_TwoFactorRecoveryComponent_4","View_TwoFactorRecoveryComponent_5","View_TwoFactorRecoveryComponent_1","View_TwoFactorRecoveryComponent_2","View_TwoFactorOptionsComponent_1","View_TwoFactorEmailComponent_5","View_TwoFactorEmailComponent_3","View_TwoFactorEmailComponent_4","View_TwoFactorEmailComponent_6","View_TwoFactorEmailComponent_7","View_TwoFactorEmailComponent_1","View_TwoFactorEmailComponent_2","View_TwoFactorDuoComponent_3","View_TwoFactorDuoComponent_4","View_TwoFactorDuoComponent_5","View_TwoFactorDuoComponent_6","View_TwoFactorDuoComponent_1","View_TwoFactorDuoComponent_2","View_TwoFactorAuthenticatorComponent_3","View_TwoFactorAuthenticatorComponent_4","View_TwoFactorAuthenticatorComponent_5","View_TwoFactorAuthenticatorComponent_6","mb-0","View_TwoFactorAuthenticatorComponent_7","View_TwoFactorAuthenticatorComponent_8","View_TwoFactorAuthenticatorComponent_9","View_TwoFactorAuthenticatorComponent_1","View_TwoFactorAuthenticatorComponent_2","View_ShareComponent_6","ɵbf","View_ShareComponent_1","View_ShareComponent_2","View_ShareComponent_3","View_ShareComponent_4","View_ShareComponent_5","View_PasswordGeneratorHistoryComponent_2","View_PasswordGeneratorHistoryComponent_1","View_PasswordGeneratorHistoryComponent_3","View_UserGroupsComponent_6","View_UserGroupsComponent_4","View_UserGroupsComponent_5","View_UserGroupsComponent_1","View_UserGroupsComponent_2","View_UserGroupsComponent_3","View_UserAddEditComponent_9","View_UserAddEditComponent_7","View_UserAddEditComponent_8","View_UserAddEditComponent_4","View_UserAddEditComponent_5","View_UserAddEditComponent_6","modal-lg","View_UserAddEditComponent_1","View_UserAddEditComponent_2","View_UserAddEditComponent_3","View_UserAddEditComponent_10","View_GroupAddEditComponent_7","View_GroupAddEditComponent_5","View_GroupAddEditComponent_6","View_GroupAddEditComponent_3","View_GroupAddEditComponent_4","View_GroupAddEditComponent_1","View_GroupAddEditComponent_2","View_GroupAddEditComponent_8","View_EntityUsersComponent_10","View_EntityUsersComponent_11","View_EntityUsersComponent_6","View_EntityUsersComponent_7","View_EntityUsersComponent_8","View_EntityUsersComponent_9","View_EntityUsersComponent_12","View_EntityUsersComponent_13","View_EntityUsersComponent_14","View_EntityUsersComponent_15","View_EntityUsersComponent_5","View_EntityUsersComponent_3","View_EntityUsersComponent_4","View_EntityUsersComponent_1","View_EntityUsersComponent_2","View_EntityEventsComponent_8","View_EntityEventsComponent_6","View_EntityEventsComponent_7","fa-spin","View_EntityEventsComponent_4","View_EntityEventsComponent_5","View_EntityEventsComponent_9","View_EntityEventsComponent_1","View_EntityEventsComponent_2","View_EntityEventsComponent_3","View_CollectionsComponent_5","View_CollectionsComponent_1","View_CollectionsComponent_2","View_CollectionsComponent_3","View_CollectionsComponent_4","View_CollectionAddEditComponent_8","View_CollectionAddEditComponent_7","View_CollectionAddEditComponent_4","View_CollectionAddEditComponent_5","View_CollectionAddEditComponent_6","View_CollectionAddEditComponent_3","View_CollectionAddEditComponent_1","View_CollectionAddEditComponent_2","View_CollectionAddEditComponent_9","View_AttachmentsComponent_4","View_AttachmentsComponent_5","downloading","deletePromises","View_AttachmentsComponent_3","View_AttachmentsComponent_1","View_AttachmentsComponent_2","View_AddEditComponent_3","typeOptions","View_AddEditComponent_5","View_AddEditComponent_8","View_AddEditComponent_9","NgStyle","ngStyle","stroke-dashoffset.px","View_AddEditComponent_13","uriMatchOptions","View_AddEditComponent_12","fa-eye","fa-eye-slash","low","View_AddEditComponent_7","View_AddEditComponent_10","View_AddEditComponent_11","checkPasswordPromise","showPassword","View_AddEditComponent_15","View_AddEditComponent_16","cardBrandOptions","showCardCode","View_AddEditComponent_18","identityTitleOptions","showValue","View_AddEditComponent_21","View_AddEditComponent_22","View_AddEditComponent_23","fieldType","View_AddEditComponent_20","View_AddEditComponent_29","View_AddEditComponent_26","View_AddEditComponent_27","View_AddEditComponent_28","View_AddEditComponent_2","View_AddEditComponent_4","View_AddEditComponent_6","View_AddEditComponent_14","View_AddEditComponent_17","View_AddEditComponent_19","View_AddEditComponent_24","View_AddEditComponent_25","addFieldType","addFieldTypeOptions","fa-star","fa-star-o","View_AddEditComponent_31","View_AddEditComponent_32","View_AddEditComponent_1","View_AddEditComponent_30","View_ModalComponent_1","View_FolderAddEditComponent_1","View_BulkShareComponent_5","View_BulkShareComponent_1","View_BulkShareComponent_2","View_BulkShareComponent_3","View_BulkShareComponent_4","View_BulkMoveComponent_1","adjustedSeatTotal","View_AdjustSeatsComponent_1","View_OrganizationBillingComponent_8","isExpired","View_OrganizationBillingComponent_7","View_OrganizationBillingComponent_9","View_OrganizationBillingComponent_12","subscriptionMarkedForCancel","nextInvoice","View_OrganizationBillingComponent_14","View_OrganizationBillingComponent_11","View_OrganizationBillingComponent_13","View_UpdateLicenseComponent_0","RenderType_UpdateLicenseComponent","Angulartics2","View_OrganizationBillingComponent_16","View_AdjustSeatsComponent_0","RenderType_AdjustSeatsComponent","View_OrganizationBillingComponent_21","View_OrganizationBillingComponent_22","i14","View_AdjustStorageComponent_0","RenderType_AdjustStorageComponent","i15","View_OrganizationBillingComponent_24","View_OrganizationBillingComponent_25","i16","View_OrganizationBillingComponent_28","fa-credit-card","fa-university","fa-paypal text-primary","BankAccount","PayPal","i17","View_AdjustPaymentComponent_0","RenderType_AdjustPaymentComponent","i18","i19","text-strike","View_OrganizationBillingComponent_33","View_OrganizationBillingComponent_18","View_OrganizationBillingComponent_19","View_OrganizationBillingComponent_20","View_OrganizationBillingComponent_23","View_OrganizationBillingComponent_26","View_OrganizationBillingComponent_27","View_OrganizationBillingComponent_29","View_OrganizationBillingComponent_30","View_OrganizationBillingComponent_31","View_OrganizationBillingComponent_32","canDownloadLicense","canAdjustSeats","storageProgressWidth","View_OrganizationBillingComponent_4","View_OrganizationBillingComponent_5","View_OrganizationBillingComponent_6","View_OrganizationBillingComponent_10","View_OrganizationBillingComponent_15","View_OrganizationBillingComponent_17","View_OrganizationBillingComponent_1","View_OrganizationBillingComponent_2","View_OrganizationBillingComponent_3","View_TwoFactorSetupComponent_6","View_TwoFactorSetupComponent_7","View_TwoFactorSetupComponent_1","View_TwoFactorSetupComponent_2","View_TwoFactorSetupComponent_3","mt-5","View_TwoFactorSetupComponent_4","View_TwoFactorSetupComponent_5","View_TwoFactorSetupComponent_8","View_TwoFactorSetupComponent_9","View_TwoFactorSetupComponent_10","View_TwoFactorSetupComponent_11","View_TwoFactorSetupComponent_12","View_TwoFactorSetupComponent_13","View_AccountComponent_1","View_AccountComponent_2","View_AccountComponent_3","View_AccountComponent_4","View_SettingsComponent_1","invitedCount","acceptedCount","View_PeopleComponent_8","View_PeopleComponent_9","View_PeopleComponent_10","View_PeopleComponent_11","View_PeopleComponent_12","View_PeopleComponent_13","View_PeopleComponent_14","View_PeopleComponent_15","View_PeopleComponent_16","View_PeopleComponent_17","View_PeopleComponent_7","View_PeopleComponent_5","View_PeopleComponent_6","active","View_PeopleComponent_1","View_PeopleComponent_2","View_PeopleComponent_3","View_PeopleComponent_4","View_PeopleComponent_18","View_PeopleComponent_19","View_PeopleComponent_20","View_GroupsComponent_5","View_GroupsComponent_3","View_GroupsComponent_4","View_GroupsComponent_1","View_GroupsComponent_2","View_GroupsComponent_6","View_GroupsComponent_7","View_EventsComponent_5","View_EventsComponent_3","View_EventsComponent_4","View_EventsComponent_6","View_EventsComponent_1","View_EventsComponent_2","View_CollectionsComponent_6","View_CollectionsComponent_7","View_ManageComponent_1","View_ManageComponent_2","View_ImportComponent_3","View_ImportComponent_18","View_ImportComponent_5","View_ImportComponent_6","View_ImportComponent_7","View_ImportComponent_8","View_ImportComponent_9","View_ImportComponent_10","View_ImportComponent_11","View_ImportComponent_12","View_ImportComponent_13","View_ImportComponent_14","View_ImportComponent_15","View_ImportComponent_16","View_ImportComponent_17","View_ImportComponent_19","View_ImportComponent_20","View_ImportComponent_21","View_ImportComponent_22","View_ImportComponent_23","View_ImportComponent_24","View_ImportComponent_25","View_ImportComponent_26","View_ImportComponent_27","View_ImportComponent_28","View_ImportComponent_29","View_ImportComponent_30","View_ImportComponent_31","View_ImportComponent_32","View_ImportComponent_33","View_ImportComponent_34","View_ImportComponent_35","View_ImportComponent_36","View_ImportComponent_37","View_ImportComponent_1","View_ImportComponent_2","View_ImportComponent_4","View_CiphersComponent_4","View_IconComponent_0","RenderType_IconComponent","View_CiphersComponent_5","View_CiphersComponent_6","View_CiphersComponent_7","View_CiphersComponent_8","View_CiphersComponent_9","View_CiphersComponent_10","View_CiphersComponent_3","View_CiphersComponent_14","View_CiphersComponent_12","View_CiphersComponent_13","View_CiphersComponent_2","View_CiphersComponent_11","View_CiphersComponent_1","View_GroupingsComponent_6","View_GroupingsComponent_5","View_GroupingsComponent_8","View_GroupingsComponent_4","View_GroupingsComponent_7","showFolders","showCollections","View_GroupingsComponent_1","View_GroupingsComponent_2","View_GroupingsComponent_3","showFavorites","View_GroupingsComponent_0","RenderType_GroupingsComponent","onAllClicked","onCipherTypeClicked","onCollectionClicked","View_VaultComponent_1","View_VaultComponent_2","View_CiphersComponent_0","RenderType_CiphersComponent","onCipherClicked","onAddCipher","View_VaultComponent_3","View_VaultComponent_4","View_VaultComponent_5","View_VaultComponent_6","View_OrganizationLayoutComponent_4","View_OrganizationLayoutComponent_2","View_OrganizationLayoutComponent_3","View_NavbarComponent_0","RenderType_NavbarComponent","View_OrganizationLayoutComponent_1","View_FooterComponent_0","RenderType_FooterComponent","View_BreachReportComponent_8","View_BreachReportComponent_7","View_BreachReportComponent_4","View_BreachReportComponent_5","View_BreachReportComponent_6","View_BreachReportComponent_2","View_BreachReportComponent_3","View_BreachReportComponent_1","copyOptions","showSelect","onSelected","avoidAmbiguous","sliderChanged","sliderInput","normalizeOptions","regenerate","toggleOptions","View_PasswordGeneratorComponent_1","onSaved","storedKeyHash","downloadFile","togglePassword","csv","baseImporter_1","importResult_1","ChamberName","parseData","SecretData","CustomData","line","delimPosition","fieldLower","PropertiesToIgnore","memo","kind","note","cardholder","expiryDate","expDate","document_content","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","groupText","accountLogin","account","buildGroupText","parseFieldsToNotes","startIndex","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Note","Pwd","passwordSafe","notesDelimiter","entries","entry","records","record","category","categoryText","accountName","attributes","attr","login_url","identifiers","valObj","getValue","tags","tag","addCollection","collectionIndex","View","view_1","IgnoredProperties","notesPlain","altUsername","openContents","faveIndex","typeName","secureContents","parseFields","sections","section","designationKey","valueKey","nameKey","fieldValue","fieldDesignation","fieldName","DisplayName","UserName","cipherIndex","grouping","buildBaseCipher","extra","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","fav","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Name on Card","Security Code","First Name","Last Name","Middle Name","Address 1","Address 2","Address 3","City / Town","Zip / Postal Code","Email Address","extraPart","fieldParts","Group","groupName","rootGroup","traverse","node","isRootNode","groupPrefixName","nameEl","entryString","valueEl","keyEl","keyRing","this_1","display_name","secret","username_value","firstRow","fieldNameLower","month","skip","currentVersion","actionType","labelLower","col","lastIndexOf","website","secondary_username","View_CreateOrganizationComponent_11","View_CreateOrganizationComponent_12","View_CreateOrganizationComponent_16","View_CreateOrganizationComponent_17","View_CreateOrganizationComponent_14","View_CreateOrganizationComponent_15","View_CreateOrganizationComponent_7","View_CreateOrganizationComponent_8","View_CreateOrganizationComponent_9","View_CreateOrganizationComponent_10","View_CreateOrganizationComponent_13","total","View_CreateOrganizationComponent_3","View_CreateOrganizationComponent_4","View_CreateOrganizationComponent_5","View_CreateOrganizationComponent_6","mt-4","View_CreateOrganizationComponent_1","View_CreateOrganizationComponent_2","View_UserBillingComponent_7","View_UserBillingComponent_8","View_UserBillingComponent_12","View_UserBillingComponent_10","View_UserBillingComponent_11","View_UserBillingComponent_14","View_UserBillingComponent_19","View_UserBillingComponent_20","View_UserBillingComponent_27","View_UserBillingComponent_16","View_UserBillingComponent_17","View_UserBillingComponent_18","View_UserBillingComponent_21","View_UserBillingComponent_22","View_UserBillingComponent_23","View_UserBillingComponent_24","View_UserBillingComponent_25","View_UserBillingComponent_26","View_UserBillingComponent_4","View_UserBillingComponent_5","View_UserBillingComponent_6","View_UserBillingComponent_9","View_UserBillingComponent_13","View_UserBillingComponent_15","View_UserBillingComponent_1","View_UserBillingComponent_2","View_UserBillingComponent_3","View_PremiumComponent_1","View_PremiumComponent_2","View_PremiumComponent_3","View_DomainRulesComponent_3","ngForTrackBy","table-list-strike","View_DomainRulesComponent_7","View_DomainRulesComponent_8","View_DomainRulesComponent_6","View_DomainRulesComponent_1","View_DomainRulesComponent_2","View_DomainRulesComponent_4","View_DomainRulesComponent_5","View_OptionsComponent_1","View_OptionsComponent_2","View_ChangeEmailComponent_1","View_ChangeEmailComponent_2","View_ChangeEmailComponent_3","View_ChangeEmailComponent_4","View_ProfileComponent_1","View_ProfileComponent_2","View_ProfileComponent_0","RenderType_ProfileComponent","View_ChangeEmailComponent_0","RenderType_ChangeEmailComponent","View_ChangePasswordComponent_0","RenderType_ChangePasswordComponent","View_SettingsComponent_2","hasUpdatedKey","canAccessAttachments","onCancelled","onEditAttachments","onGeneratePassword","addUri","removeUri","addField","removeField","toggleCardCode","toggleFieldValue","toggleUriOptions","loginUriMatchChanged","checkPassword","activeCipherId","onCipherRightClicked","onAddCipherOptions","selectCipher","rightClickCipher","addCipherOptions","LogLevelType","logLevelType_1","FallbackSrcDirective","onError","appFallbackSrc","onFavoritesClicked","onFolderClicked","onAddFolder","onEditFolder","setLoaded","clearSelections","selectFavorites","selectType","selectFolder","selectCollection","View_VerifyEmailComponent_0","RenderType_VerifyEmailComponent","i20","i21","View_OrganizationsComponent_0","RenderType_OrganizationsComponent","i22","i23","i24","View_VaultComponent_7","View_VaultComponent_8","View_VaultComponent_9","View_VaultComponent_10","View_VaultComponent_11","View_VaultComponent_12","View_VaultComponent_13","View_VaultComponent_14","View_AcceptOrganizationComponent_1","View_AcceptOrganizationComponent_2","PasswordHintRequest","passwordHintRequest_1","RegisterRequest","registerRequest_1","confirmMasterPassword","hint","orgInvite","confirmField","View_RegisterComponent_1","View_RegisterComponent_2","successCallback","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","stop","sendMessage","contentWindow","postMessage","cleanup","validMessage","clientId","scope","deviceIdentifier","identifier","deviceName","twoFactorRemember","pushToken","DuoWebSDK","u2f_1","u2fReady","twoFactorEmail","loginRoute","customWebVaultUrl","cleanupU2f","challenges","Challenges","keyHandle","Signature","onSuccessfulLogin","doToast","backdrop","className","choose","recover","View_TwoFactorComponent_5","View_TwoFactorComponent_2","View_TwoFactorComponent_3","View_TwoFactorComponent_4","View_TwoFactorComponent_8","View_TwoFactorComponent_9","col-9","View_TwoFactorComponent_1","View_TwoFactorComponent_6","View_TwoFactorComponent_7","View_TwoFactorComponent_10","View_TwoFactorComponent_11","View_TwoFactorComponent_12","View_TwoFactorComponent_13","View_TwoFactorComponent_14","View_TwoFactorComponent_15","rememberEmail","twoFactorRoute","common_1","da_1","de_1","pt_1","pt_PT_1","ru_1","sk_1","registerLocaleData","AppModule","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModuleFactory","__NgCli_bootstrap_1","AppModuleNgFactory"],"mappings":"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EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAA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","file":"app/main.51aa1298ea23bcfff6be.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([946,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\r\n locale: string;\r\n supportedTranslationLocales: string[];\r\n translationLocale: string;\r\n collator: Intl.Collator;\r\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherAdmin: (request: CipherRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise>;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n fetch: (request: Request) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nexport abstract class CryptoService {\r\n setKey: (key: SymmetricCryptoKey) => Promise;\r\n setKeyHash: (keyHash: string) => Promise<{}>;\r\n setEncKey: (encKey: string) => Promise<{}>;\r\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\r\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\r\n getKey: () => Promise;\r\n getKeyHash: () => Promise;\r\n getEncKey: () => Promise;\r\n getPublicKey: () => Promise;\r\n getPrivateKey: () => Promise;\r\n getOrgKeys: () => Promise>;\r\n getOrgKey: (orgId: string) => Promise;\r\n hasKey: () => Promise;\r\n hasEncKey: () => Promise;\r\n clearKey: () => Promise;\r\n clearKeyHash: () => Promise;\r\n clearEncKey: (memoryOnly?: boolean) => Promise;\r\n clearKeyPair: (memoryOnly?: boolean) => Promise;\r\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\r\n clearKeys: () => Promise;\r\n toggleKey: () => Promise;\r\n makeKey: (password: string, salt: string) => Promise;\r\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\r\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\r\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\r\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\r\n randomNumber: (min: number, max: number) => Promise;\r\n}\r\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return str == null || str.trim() === '';\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getQueryParams(uriString: string): Map {\n const url = Utils.getUrl(uriString);\n if (url == null || url.search == null || url.search === '') {\n return null;\n }\n const map = new Map();\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\n pairs.forEach((pair) => {\n const parts = pair.split('=');\n if (parts.length < 1) {\n return;\n }\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\n });\n return map;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n const hasProtocol = uriString.indexOf('://') > -1;\n if (!hasProtocol && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n } else if (!hasProtocol) {\n return null;\n }\n\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n\n return null;\n }\n}\n\nUtils.init();\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n super(componentFactoryResolver);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\n static readonly environmentUrlsKey: string = 'environmentUrls';\n static readonly disableGaKey: string = 'disableGa';\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\n static readonly disableFaviconKey: string = 'disableFavicon';\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\n static readonly lockOptionKey: string = 'lockOption';\n static readonly lastActiveKey: string = 'lastActive';\n static readonly neverDomainsKey: string = 'neverDomains';\n static readonly installedVersionKey: string = 'installedVersion';\n static readonly localeKey: string = 'locale';\n static readonly themeKey: string = 'theme';\n\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\n readonly disableGaKey: string = ConstantsService.disableGaKey;\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\n readonly localeKey: string = ConstantsService.localeKey;\n readonly themeKey: string = ConstantsService.themeKey;\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { AttachmentData } from './attachmentData';\r\nimport { CardData } from './cardData';\r\nimport { FieldData } from './fieldData';\r\nimport { IdentityData } from './identityData';\r\nimport { LoginData } from './loginData';\r\nimport { PasswordHistoryData } from './passwordHistoryData';\r\nimport { SecureNoteData } from './secureNoteData';\r\n\r\nimport { CipherResponse } from '../response/cipherResponse';\r\n\r\nexport class CipherData {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n userId: string;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n favorite: boolean;\r\n revisionDate: Date;\r\n type: CipherType;\r\n sizeName: string;\r\n name: string;\r\n notes: string;\r\n login?: LoginData;\r\n secureNote?: SecureNoteData;\r\n card?: CardData;\r\n identity?: IdentityData;\r\n fields?: FieldData[];\r\n attachments?: AttachmentData[];\r\n passwordHistory?: PasswordHistoryData[];\r\n collectionIds?: string[];\r\n\r\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.folderId = response.folderId;\r\n this.userId = userId;\r\n this.edit = response.edit;\r\n this.organizationUseTotp = response.organizationUseTotp;\r\n this.favorite = response.favorite;\r\n this.revisionDate = response.revisionDate;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n\r\n if (collectionIds != null) {\r\n this.collectionIds = collectionIds;\r\n } else {\r\n this.collectionIds = response.collectionIds;\r\n }\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginData(response.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteData(response.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardData(response.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityData(response.identity);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (response.fields != null) {\r\n this.fields = [];\r\n response.fields.forEach((field) => {\r\n this.fields.push(new FieldData(field));\r\n });\r\n }\r\n\r\n if (response.attachments != null) {\r\n this.attachments = [];\r\n response.attachments.forEach((attachment) => {\r\n this.attachments.push(new AttachmentData(attachment));\r\n });\r\n }\r\n\r\n if (response.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n response.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new PasswordHistoryData(ph));\r\n });\r\n }\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherData } from '../data/cipherData';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Attachment } from './attachment';\r\nimport { Card } from './card';\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { Password } from './password';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher extends Domain {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n name: CipherString;\r\n notes: CipherString;\r\n type: CipherType;\r\n favorite: boolean;\r\n organizationUseTotp: boolean;\r\n edit: boolean;\r\n revisionDate: Date;\r\n localData: any;\r\n login: Login;\r\n identity: Identity;\r\n card: Card;\r\n secureNote: SecureNote;\r\n attachments: Attachment[];\r\n fields: Field[];\r\n passwordHistory: Password[];\r\n collectionIds: string[];\r\n\r\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n userId: null,\r\n organizationId: null,\r\n folderId: null,\r\n name: null,\r\n notes: null,\r\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\r\n\r\n this.type = obj.type;\r\n this.favorite = obj.favorite;\r\n this.organizationUseTotp = obj.organizationUseTotp;\r\n this.edit = obj.edit;\r\n this.revisionDate = obj.revisionDate;\r\n this.collectionIds = obj.collectionIds;\r\n this.localData = localData;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new Login(obj.login, alreadyEncrypted);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(obj.card, alreadyEncrypted);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(obj.identity, alreadyEncrypted);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (obj.attachments != null) {\r\n this.attachments = [];\r\n obj.attachments.forEach((attachment) => {\r\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\r\n });\r\n } else {\r\n this.attachments = null;\r\n }\r\n\r\n if (obj.fields != null) {\r\n this.fields = [];\r\n obj.fields.forEach((field) => {\r\n this.fields.push(new Field(field, alreadyEncrypted));\r\n });\r\n } else {\r\n this.fields = null;\r\n }\r\n\r\n if (obj.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n obj.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new Password(ph, alreadyEncrypted));\r\n });\r\n } else {\r\n this.passwordHistory = null;\r\n }\r\n }\r\n\r\n async decrypt(): Promise {\r\n const model = new CipherView(this);\r\n\r\n await this.decryptObj(model, {\r\n name: null,\r\n notes: null,\r\n }, this.organizationId);\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n model.login = await this.login.decrypt(this.organizationId);\r\n break;\r\n case CipherType.SecureNote:\r\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Card:\r\n model.card = await this.card.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Identity:\r\n model.identity = await this.identity.decrypt(this.organizationId);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const orgId = this.organizationId;\r\n\r\n if (this.attachments != null && this.attachments.length > 0) {\r\n const attachments: any[] = [];\r\n await this.attachments.reduce((promise, attachment) => {\r\n return promise.then(() => {\r\n return attachment.decrypt(orgId);\r\n }).then((decAttachment) => {\r\n attachments.push(decAttachment);\r\n });\r\n }, Promise.resolve());\r\n model.attachments = attachments;\r\n }\r\n\r\n if (this.fields != null && this.fields.length > 0) {\r\n const fields: any[] = [];\r\n await this.fields.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return field.decrypt(orgId);\r\n }).then((decField) => {\r\n fields.push(decField);\r\n });\r\n }, Promise.resolve());\r\n model.fields = fields;\r\n }\r\n\r\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\r\n const passwordHistory: any[] = [];\r\n await this.passwordHistory.reduce((promise, ph) => {\r\n return promise.then(() => {\r\n return ph.decrypt(orgId);\r\n }).then((decPh) => {\r\n passwordHistory.push(decPh);\r\n });\r\n }, Promise.resolve());\r\n model.passwordHistory = passwordHistory;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n toCipherData(userId: string): CipherData {\r\n const c = new CipherData();\r\n c.id = this.id;\r\n c.organizationId = this.organizationId;\r\n c.folderId = this.folderId;\r\n c.userId = this.organizationId != null ? userId : null;\r\n c.edit = this.edit;\r\n c.organizationUseTotp = this.organizationUseTotp;\r\n c.favorite = this.favorite;\r\n c.revisionDate = this.revisionDate;\r\n c.type = this.type;\r\n c.collectionIds = this.collectionIds;\r\n\r\n this.buildDataModel(this, c, {\r\n name: null,\r\n notes: null,\r\n });\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n c.login = this.login.toLoginData();\r\n break;\r\n case CipherType.SecureNote:\r\n c.secureNote = this.secureNote.toSecureNoteData();\r\n break;\r\n case CipherType.Card:\r\n c.card = this.card.toCardData();\r\n break;\r\n case CipherType.Identity:\r\n c.identity = this.identity.toIdentityData();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.fields != null) {\r\n c.fields = [];\r\n this.fields.forEach((field) => {\r\n c.fields.push(field.toFieldData());\r\n });\r\n }\r\n\r\n if (this.attachments != null) {\r\n c.attachments = [];\r\n this.attachments.forEach((attachment) => {\r\n c.attachments.push(attachment.toAttachmentData());\r\n });\r\n }\r\n\r\n if (this.passwordHistory != null) {\r\n c.passwordHistory = [];\r\n this.passwordHistory.forEach((ph) => {\r\n c.passwordHistory.push(ph.toPasswordHistoryData());\r\n });\r\n }\r\n return c;\r\n }\r\n}\r\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n if (!l) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = l.passwordRevisionDate;\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { PasswordHistoryView } from './passwordHistoryView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n passwordHistory: PasswordHistoryView[];\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasPasswordHistory(): boolean {\n return this.passwordHistory && this.passwordHistory.length > 0;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.login == null) {\n return null;\n } else if (this.login.password == null || this.login.password === '') {\n return null;\n }\n return this.login.passwordRevisionDate;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\r\n\r\nexport class CipherRequest {\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n login: LoginApi;\r\n secureNote: SecureNoteApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n fields: FieldApi[];\r\n passwordHistory: PasswordHistoryRequest[];\r\n attachments: { [id: string]: string; };\r\n\r\n constructor(cipher: Cipher) {\r\n this.type = cipher.type;\r\n this.folderId = cipher.folderId;\r\n this.organizationId = cipher.organizationId;\r\n this.name = cipher.name ? cipher.name.encryptedString : null;\r\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\r\n this.favorite = cipher.favorite;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = {\r\n uris: null,\r\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\r\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\r\n passwordRevisionDate: cipher.login.passwordRevisionDate,\r\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\r\n };\r\n\r\n if (cipher.login.uris) {\r\n this.login.uris = [];\r\n cipher.login.uris.forEach((u) => {\r\n this.login.uris.push({\r\n uri: u.uri ? u.uri.encryptedString : null,\r\n match: u.match != null ? u.match : null,\r\n });\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = {\r\n type: cipher.secureNote.type,\r\n };\r\n break;\r\n case CipherType.Card:\r\n this.card = {\r\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\r\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\r\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\r\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\r\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\r\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\r\n };\r\n break;\r\n case CipherType.Identity:\r\n this.identity = {\r\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\r\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\r\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\r\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\r\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\r\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\r\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\r\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\r\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\r\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\r\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\r\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\r\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\r\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\r\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\r\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\r\n passportNumber: cipher.identity.passportNumber ?\r\n cipher.identity.passportNumber.encryptedString : null,\r\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (cipher.fields) {\r\n this.fields = [];\r\n cipher.fields.forEach((field) => {\r\n this.fields.push({\r\n type: field.type,\r\n name: field.name ? field.name.encryptedString : null,\r\n value: field.value ? field.value.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.passwordHistory) {\r\n this.passwordHistory = [];\r\n cipher.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push({\r\n lastUsedDate: ph.lastUsedDate,\r\n password: ph.password ? ph.password.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.attachments) {\r\n this.attachments = {};\r\n cipher.attachments.forEach((attachment) => {\r\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\r\n });\r\n }\r\n }\r\n}\r\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n\n private searchPipe: SearchCiphersPipe;\n\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService) {\n super(cipherService);\n this.searchPipe = new SearchCiphersPipe(platformUtilsService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n let filteredCiphers = this.ciphers;\n if (select) {\n filteredCiphers = this.searchPipe.transform(this.ciphers, this.searchText);\n }\n const selectCount = select && filteredCiphers.length > MaxCheckedCount ?\n MaxCheckedCount : filteredCiphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(filteredCiphers[i], select);\n }\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n protected deleteCipher(id: string) {\n return this.cipherService.deleteWithServer(id);\n }\n}\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get isExpired() {\n return this.billing != null && this.billing.expiration != null && this.billing.expiration < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n showAdd = true;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.showAdd = this.organization.isAdmin;\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipher(id);\n }\n return this.apiService.deleteCipherAdmin(id);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n lockOption: number = null;\n disableIcons: boolean;\n enableGravatars: boolean;\n locale: string;\n lockOptions: any[];\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService, private lockService: LockService,\n private platformUtilsService: PlatformUtilsService) {\n this.lockOptions = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.lockOptions.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.lockService.setLockOption(this.lockOption != null ? this.lockOption : null);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost() && !(await this.inOrgWithPremium());\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n\n private async inOrgWithPremium() {\n const orgs = await this.userService.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium) {\n return true;\n }\n }\n return false;\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n if (this.orgName != null) {\n // Fix URL encoding of space issue with Angular\n this.orgName = this.orgName.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n if (key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32tobytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n let otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftpad(otp, digits, '0');\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftpad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private dec2hex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32tohex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (b32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = b32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32tobytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32tohex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from '../abstractions/passwordGeneration.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nconst DefaultOptions = {\r\n length: 14,\r\n ambiguous: false,\r\n number: true,\r\n minNumber: 1,\r\n uppercase: true,\r\n minUppercase: 0,\r\n lowercase: true,\r\n minLowercase: 0,\r\n special: false,\r\n minSpecial: 1,\r\n};\r\n\r\nconst Keys = {\r\n options: 'passwordGenerationOptions',\r\n history: 'generatedPasswordHistory',\r\n};\r\n\r\nconst MaxPasswordsInHistory = 100;\r\n\r\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\r\n private optionsCache: any;\r\n private history: GeneratedPasswordHistory[];\r\n\r\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\r\n\r\n async generatePassword(options: any): Promise {\r\n // overload defaults with given options\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n // sanitize\r\n if (o.uppercase && o.minUppercase <= 0) {\r\n o.minUppercase = 1;\r\n }\r\n if (o.lowercase && o.minLowercase <= 0) {\r\n o.minLowercase = 1;\r\n }\r\n if (o.number && o.minNumber <= 0) {\r\n o.minNumber = 1;\r\n }\r\n if (o.special && o.minSpecial <= 0) {\r\n o.minSpecial = 1;\r\n }\r\n\r\n if (!o.length || o.length < 1) {\r\n o.length = 10;\r\n }\r\n\r\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\r\n if (o.length < minLength) {\r\n o.length = minLength;\r\n }\r\n\r\n const positions: string[] = [];\r\n if (o.lowercase && o.minLowercase > 0) {\r\n for (let i = 0; i < o.minLowercase; i++) {\r\n positions.push('l');\r\n }\r\n }\r\n if (o.uppercase && o.minUppercase > 0) {\r\n for (let i = 0; i < o.minUppercase; i++) {\r\n positions.push('u');\r\n }\r\n }\r\n if (o.number && o.minNumber > 0) {\r\n for (let i = 0; i < o.minNumber; i++) {\r\n positions.push('n');\r\n }\r\n }\r\n if (o.special && o.minSpecial > 0) {\r\n for (let i = 0; i < o.minSpecial; i++) {\r\n positions.push('s');\r\n }\r\n }\r\n while (positions.length < o.length) {\r\n positions.push('a');\r\n }\r\n\r\n // shuffle\r\n await this.shuffleArray(positions);\r\n\r\n // build out the char sets\r\n let allCharSet = '';\r\n\r\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\r\n if (o.ambiguous) {\r\n lowercaseCharSet += 'l';\r\n }\r\n if (o.lowercase) {\r\n allCharSet += lowercaseCharSet;\r\n }\r\n\r\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\r\n if (o.ambiguous) {\r\n uppercaseCharSet += 'O';\r\n }\r\n if (o.uppercase) {\r\n allCharSet += uppercaseCharSet;\r\n }\r\n\r\n let numberCharSet = '23456789';\r\n if (o.ambiguous) {\r\n numberCharSet += '01';\r\n }\r\n if (o.number) {\r\n allCharSet += numberCharSet;\r\n }\r\n\r\n const specialCharSet = '!@#$%^&*';\r\n if (o.special) {\r\n allCharSet += specialCharSet;\r\n }\r\n\r\n let password = '';\r\n for (let i = 0; i < o.length; i++) {\r\n let positionChars: string;\r\n switch (positions[i]) {\r\n case 'l':\r\n positionChars = lowercaseCharSet;\r\n break;\r\n case 'u':\r\n positionChars = uppercaseCharSet;\r\n break;\r\n case 'n':\r\n positionChars = numberCharSet;\r\n break;\r\n case 's':\r\n positionChars = specialCharSet;\r\n break;\r\n case 'a':\r\n positionChars = allCharSet;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\r\n password += positionChars.charAt(randomCharIndex);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n async getOptions() {\r\n if (this.optionsCache == null) {\r\n const options = await this.storageService.get(Keys.options);\r\n if (options == null) {\r\n this.optionsCache = DefaultOptions;\r\n } else {\r\n this.optionsCache = options;\r\n }\r\n }\r\n\r\n return this.optionsCache;\r\n }\r\n\r\n async saveOptions(options: any) {\r\n await this.storageService.save(Keys.options, options);\r\n this.optionsCache = options;\r\n }\r\n\r\n async getHistory(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return new Array();\r\n }\r\n\r\n if (!this.history) {\r\n const encrypted = await this.storageService.get(Keys.history);\r\n this.history = await this.decryptHistory(encrypted);\r\n }\r\n\r\n return this.history || new Array();\r\n }\r\n\r\n async addHistory(password: string): Promise {\r\n // Cannot add new history if no key is available\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return;\r\n }\r\n\r\n const currentHistory = await this.getHistory();\r\n\r\n // Prevent duplicates\r\n if (this.matchesPrevious(password, currentHistory)) {\r\n return;\r\n }\r\n\r\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\r\n\r\n // Remove old items.\r\n if (currentHistory.length > MaxPasswordsInHistory) {\r\n currentHistory.pop();\r\n }\r\n\r\n const newHistory = await this.encryptHistory(currentHistory);\r\n return await this.storageService.save(Keys.history, newHistory);\r\n }\r\n\r\n async clear(): Promise {\r\n this.history = [];\r\n return await this.storageService.remove(Keys.history);\r\n }\r\n\r\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const encrypted = await this.cryptoService.encrypt(item.password);\r\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\r\n return new GeneratedPasswordHistory(decrypted, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\r\n if (history == null || history.length === 0) {\r\n return false;\r\n }\r\n\r\n return history[history.length - 1].password === password;\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/12646864/1090359\r\n private async shuffleArray(array: string[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = await this.cryptoService.randomNumber(0, i);\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { EncryptedObject } from '../models/domain/encryptedObject';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n key: 'key',\r\n encOrgKeys: 'encOrgKeys',\r\n encPrivateKey: 'encPrivateKey',\r\n encKey: 'encKey',\r\n keyHash: 'keyHash',\r\n};\r\n\r\nexport class CryptoService implements CryptoServiceAbstraction {\r\n private key: SymmetricCryptoKey;\r\n private encKey: SymmetricCryptoKey;\r\n private legacyEtmKey: SymmetricCryptoKey;\r\n private keyHash: string;\r\n private publicKey: ArrayBuffer;\r\n private privateKey: ArrayBuffer;\r\n private orgKeys: Map;\r\n\r\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\r\n private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n async setKey(key: SymmetricCryptoKey): Promise {\r\n this.key = key;\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n // if we have a lock option set, we do not store the key\r\n return;\r\n }\r\n\r\n return this.secureStorageService.save(Keys.key, key.keyB64);\r\n }\r\n\r\n setKeyHash(keyHash: string): Promise<{}> {\r\n this.keyHash = keyHash;\r\n return this.storageService.save(Keys.keyHash, keyHash);\r\n }\r\n\r\n async setEncKey(encKey: string): Promise<{}> {\r\n if (encKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encKey, encKey);\r\n this.encKey = null;\r\n }\r\n\r\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\r\n if (encPrivateKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\r\n this.privateKey = null;\r\n }\r\n\r\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\r\n const orgKeys: any = {};\r\n orgs.forEach((org) => {\r\n orgKeys[org.id] = org.key;\r\n });\r\n\r\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\r\n }\r\n\r\n async getKey(): Promise {\r\n if (this.key != null) {\r\n return this.key;\r\n }\r\n\r\n const key = await this.secureStorageService.get(Keys.key);\r\n if (key != null) {\r\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\r\n }\r\n\r\n return key == null ? null : this.key;\r\n }\r\n\r\n getKeyHash(): Promise {\r\n if (this.keyHash != null) {\r\n return Promise.resolve(this.keyHash);\r\n }\r\n\r\n return this.storageService.get(Keys.keyHash);\r\n }\r\n\r\n @sequentialize(() => 'getEncKey')\r\n async getEncKey(): Promise {\r\n if (this.encKey != null) {\r\n return this.encKey;\r\n }\r\n\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n if (encKey == null) {\r\n return null;\r\n }\r\n\r\n const key = await this.getKey();\r\n if (key == null) {\r\n return null;\r\n }\r\n\r\n let decEncKey: ArrayBuffer;\r\n const encKeyCipher = new CipherString(encKey);\r\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\r\n decEncKey = await this.decrypt(encKeyCipher, key);\r\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\r\n const newKey = await this.stretchKey(key);\r\n decEncKey = await this.decrypt(encKeyCipher, newKey);\r\n } else {\r\n throw new Error('Unsupported encKey type.');\r\n }\r\n\r\n if (decEncKey == null) {\r\n return null;\r\n }\r\n this.encKey = new SymmetricCryptoKey(decEncKey);\r\n return this.encKey;\r\n }\r\n\r\n async getPublicKey(): Promise {\r\n if (this.publicKey != null) {\r\n return this.publicKey;\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n return null;\r\n }\r\n\r\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\r\n return this.publicKey;\r\n }\r\n\r\n async getPrivateKey(): Promise {\r\n if (this.privateKey != null) {\r\n return this.privateKey;\r\n }\r\n\r\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\r\n if (encPrivateKey == null) {\r\n return null;\r\n }\r\n\r\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\r\n return this.privateKey;\r\n }\r\n\r\n @sequentialize(() => 'getOrgKeys')\r\n async getOrgKeys(): Promise> {\r\n if (this.orgKeys != null && this.orgKeys.size > 0) {\r\n return this.orgKeys;\r\n }\r\n\r\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\r\n if (encOrgKeys == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys: Map = new Map();\r\n let setKey = false;\r\n\r\n for (const orgId in encOrgKeys) {\r\n if (!encOrgKeys.hasOwnProperty(orgId)) {\r\n continue;\r\n }\r\n\r\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\r\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\r\n setKey = true;\r\n }\r\n\r\n if (setKey) {\r\n this.orgKeys = orgKeys;\r\n }\r\n\r\n return this.orgKeys;\r\n }\r\n\r\n async getOrgKey(orgId: string): Promise {\r\n if (orgId == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys = await this.getOrgKeys();\r\n if (orgKeys == null || !orgKeys.has(orgId)) {\r\n return null;\r\n }\r\n\r\n return orgKeys.get(orgId);\r\n }\r\n\r\n async hasKey(): Promise {\r\n return (await this.getKey()) != null;\r\n }\r\n\r\n async hasEncKey(): Promise {\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n return encKey != null;\r\n }\r\n\r\n clearKey(): Promise {\r\n this.key = this.legacyEtmKey = null;\r\n return this.secureStorageService.remove(Keys.key);\r\n }\r\n\r\n clearKeyHash(): Promise {\r\n this.keyHash = null;\r\n return this.storageService.remove(Keys.keyHash);\r\n }\r\n\r\n clearEncKey(memoryOnly?: boolean): Promise {\r\n this.encKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encKey);\r\n }\r\n\r\n clearKeyPair(memoryOnly?: boolean): Promise {\r\n this.privateKey = null;\r\n this.publicKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encPrivateKey);\r\n }\r\n\r\n clearOrgKeys(memoryOnly?: boolean): Promise {\r\n this.orgKeys = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encOrgKeys);\r\n }\r\n\r\n clearKeys(): Promise {\r\n return Promise.all([\r\n this.clearKey(),\r\n this.clearKeyHash(),\r\n this.clearOrgKeys(),\r\n this.clearEncKey(),\r\n this.clearKeyPair(),\r\n ]);\r\n }\r\n\r\n async toggleKey(): Promise {\r\n const key = await this.getKey();\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null || option === 0) {\r\n // if we have a lock option set, clear the key\r\n await this.clearKey();\r\n this.key = key;\r\n return;\r\n }\r\n\r\n await this.setKey(key);\r\n }\r\n\r\n async makeKey(password: string, salt: string): Promise {\r\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\r\n return new SymmetricCryptoKey(key);\r\n }\r\n\r\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\r\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\r\n const publicKey = await this.getPublicKey();\r\n const encKey = await this.getEncKey();\r\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\r\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\r\n }\r\n\r\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\r\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\r\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\r\n const privateEnc = await this.encrypt(keyPair[1], key);\r\n return [publicB64, privateEnc];\r\n }\r\n\r\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (password == null || key == null) {\r\n throw new Error('Invalid parameters.');\r\n }\r\n\r\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\r\n return Utils.fromBufferToB64(hash);\r\n }\r\n\r\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const encKey = await this.cryptoFunctionService.randomBytes(64);\r\n let encKeyEnc: CipherString = null;\r\n // TODO: Uncomment when we're ready to enable key stretching\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n /*\r\n if (key.key.byteLength === 32) {\r\n const newKey = await this.stretchKey(key);\r\n encKeyEnc = await this.encrypt(encKey, newKey);\r\n } else if (key.key.byteLength === 64) {\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n } else {\r\n throw new Error('Invalid key size.');\r\n }\r\n */\r\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\r\n }\r\n\r\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (plainValue == null) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n let plainBuf: ArrayBuffer;\r\n if (typeof (plainValue) === 'string') {\r\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\r\n } else {\r\n plainBuf = plainValue;\r\n }\r\n\r\n const encObj = await this.aesEncrypt(plainBuf, key);\r\n const iv = Utils.fromBufferToB64(encObj.iv);\r\n const data = Utils.fromBufferToB64(encObj.data);\r\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\r\n return new CipherString(encObj.key.encType, iv, data, mac);\r\n }\r\n\r\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n const encValue = await this.aesEncrypt(plainValue, key);\r\n let macLen = 0;\r\n if (encValue.mac != null) {\r\n macLen = encValue.mac.byteLength;\r\n }\r\n\r\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\r\n encBytes.set([encValue.key.encType]);\r\n encBytes.set(new Uint8Array(encValue.iv), 1);\r\n if (encValue.mac != null) {\r\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\r\n }\r\n\r\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\r\n return encBytes.buffer;\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey == null) {\r\n throw new Error('Public key unavailable.');\r\n }\r\n\r\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\r\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\r\n let mac: string = null;\r\n if (key != null && key.macKey != null) {\r\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\r\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\r\n mac = Utils.fromBufferToB64(macBytes);\r\n }\r\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\r\n }\r\n\r\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\r\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\r\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\r\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\r\n if (decipher == null) {\r\n return null;\r\n }\r\n\r\n return decipher;\r\n }\r\n\r\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\r\n cipherString.iv, cipherString.mac, key);\r\n }\r\n\r\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n if (encBuf == null) {\r\n throw new Error('no encBuf.');\r\n }\r\n\r\n const encBytes = new Uint8Array(encBuf);\r\n const encType = encBytes[0];\r\n let ctBytes: Uint8Array = null;\r\n let ivBytes: Uint8Array = null;\r\n let macBytes: Uint8Array = null;\r\n\r\n switch (encType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n macBytes = encBytes.slice(17, 49);\r\n ctBytes = encBytes.slice(49);\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n ctBytes = encBytes.slice(17);\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\r\n macBytes != null ? macBytes.buffer : null, key);\r\n }\r\n\r\n // EFForg/OpenWireless\r\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\r\n async randomNumber(min: number, max: number): Promise {\r\n let rval = 0;\r\n const range = max - min + 1;\r\n const bitsNeeded = Math.ceil(Math.log2(range));\r\n if (bitsNeeded > 53) {\r\n throw new Error('We cannot generate numbers larger than 53 bits.');\r\n }\r\n\r\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\r\n const mask = Math.pow(2, bitsNeeded) - 1;\r\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\r\n\r\n // Fill a byte array with N random numbers\r\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\r\n\r\n let p = (bytesNeeded - 1) * 8;\r\n for (let i = 0; i < bytesNeeded; i++) {\r\n rval += byteArray[i] * Math.pow(2, p);\r\n p -= 8;\r\n }\r\n\r\n // Use & to apply the mask and reduce the number of recursive lookups\r\n // tslint:disable-next-line\r\n rval = rval & mask;\r\n\r\n if (rval >= range) {\r\n // Integer out of acceptable range\r\n return this.randomNumber(min, max);\r\n }\r\n\r\n // Return an integer that falls within the range\r\n return min + rval;\r\n }\r\n\r\n // Helpers\r\n\r\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const obj = new EncryptedObject();\r\n obj.key = await this.getKeyForEncryption(key);\r\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\r\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\r\n\r\n if (obj.key.macKey != null) {\r\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\r\n macData.set(new Uint8Array(obj.iv), 0);\r\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\r\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\r\n key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n // tslint:disable-next-line\r\n console.error('mac required.');\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n // tslint:disable-next-line\r\n console.error('encType unavailable.');\r\n return null;\r\n }\r\n\r\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\r\n if (fastParams.macKey != null && fastParams.mac != null) {\r\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\r\n fastParams.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\r\n if (!macsEqual) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\r\n }\r\n\r\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\r\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n return null;\r\n }\r\n\r\n if (theKey.macKey != null && mac != null) {\r\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\r\n macData.set(new Uint8Array(iv), 0);\r\n macData.set(new Uint8Array(data), iv.byteLength);\r\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\r\n if (computedMac === null) {\r\n return null;\r\n }\r\n\r\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsMatch) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\r\n }\r\n\r\n private async rsaDecrypt(encValue: string): Promise {\r\n const headerPieces = encValue.split('.');\r\n let encType: EncryptionType = null;\r\n let encPieces: string[];\r\n\r\n if (headerPieces.length === 1) {\r\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\r\n encPieces = [headerPieces[0]];\r\n } else if (headerPieces.length === 2) {\r\n try {\r\n encType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) { }\r\n }\r\n\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n if (encPieces.length !== 2) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n if (encPieces == null || encPieces.length <= 0) {\r\n throw new Error('encPieces unavailable.');\r\n }\r\n\r\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\r\n const key = await this.getEncKey();\r\n if (key != null && key.macKey != null && encPieces.length > 1) {\r\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\r\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsEqual) {\r\n throw new Error('MAC failed.');\r\n }\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n throw new Error('No private key.');\r\n }\r\n\r\n let alg: 'sha1' | 'sha256' = 'sha1';\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n alg = 'sha256';\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\r\n }\r\n\r\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\r\n if (key != null) {\r\n return key;\r\n }\r\n\r\n const encKey = await this.getEncKey();\r\n if (encKey != null) {\r\n return encKey;\r\n }\r\n\r\n return await this.getKey();\r\n }\r\n\r\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\r\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\r\n key.encType === EncryptionType.AesCbc256_B64) {\r\n // Old encrypt-then-mac scheme, make a new key\r\n if (this.legacyEtmKey == null) {\r\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\r\n }\r\n return this.legacyEtmKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n private async stretchKey(key: SymmetricCryptoKey): Promise {\r\n const newKey = new Uint8Array(64);\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\r\n return new SymmetricCryptoKey(newKey.buffer);\r\n }\r\n\r\n // ref: https://tools.ietf.org/html/rfc5869\r\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\r\n const hashLen = 32; // sha256\r\n const okm = new Uint8Array(size);\r\n let previousT = new Uint8Array(0);\r\n const n = Math.ceil(size / hashLen);\r\n for (let i = 0; i < n; i++) {\r\n const t = new Uint8Array(previousT.length + info.length + 1);\r\n t.set(previousT);\r\n t.set(info, previousT.length);\r\n t.set([i + 1], t.length - 1);\r\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\r\n okm.set(previousT, i * hashLen);\r\n }\r\n return okm;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domain';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nexport class CipherService implements CipherServiceAbstraction {\n decryptedCipherCache: CipherView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\n // Adjust password history\n if (model.id != null) {\n const existingCipher = await (await this.get(model.id)).decrypt();\n if (existingCipher != null) {\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.filter((f) => f.name === ef.name);\n if (matchedField.length === 0 || matchedField[0].value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Array> = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(() => {\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\n if (url == null && !includeOtherTypes) {\n return Promise.resolve([]);\n }\n\n const domain = this.platformUtilsService.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n return ciphers.filter((cipher) => {\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n switch (u.match) {\n case null:\n case undefined:\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n return true;\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getLastUsedForUrl(url: string): Promise {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (ciphers.length === 0) {\n return null;\n }\n\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\n return sortedCiphers[0];\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n const request = new CipherRequest(cipher);\n\n let response: CipherResponse;\n if (cipher.id == null) {\n response = await this.apiService.postCipher(request);\n cipher.id = response.id;\n } else {\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCipher.toCipherData(userId));\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Array> = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('data', new Buffer(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\n organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n const encData = await this.cryptoService.encryptToBytes(data, key);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('data', new Buffer(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.decryptedCipherCache = null;\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n // Helpers\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\r\n if (response.status === 404) {\r\n return [];\r\n } else if (response.status !== 200) {\r\n throw new Error();\r\n }\r\n const responseJson = await response.json();\r\n return responseJson.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = response.RevisionDate;\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.PasswordHistory != null) {\n this.passwordHistory = [];\n response.PasswordHistory.forEach((ph: any) => {\n this.passwordHistory.push(new PasswordHistoryResponse(ph));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise) {\r\n const device = platformUtilsService.getDevice();\r\n this.deviceType = device.toString();\r\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\r\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\r\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\r\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\r\n device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n return;\r\n }\r\n\r\n if (urls.api != null && urls.identity != null) {\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n return;\r\n }\r\n\r\n /* tslint:disable */\r\n // Local Dev\r\n //this.apiBaseUrl = 'http://localhost:4000';\r\n //this.identityBaseUrl = 'http://localhost:33656';\r\n\r\n // Production\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n /* tslint:enable */\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-cache',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n postPremium(data: FormData): Promise {\r\n return this.send('POST', '/accounts/premium', data, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n postAccountStorage(request: StorageRequest): Promise {\r\n return this.send('POST', '/accounts/storage', request, true, false);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/ciphers/purge', request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, CollectionUserResponse);\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, GroupUserResponse);\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new OrganizationBillingResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\r\n }\r\n\r\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // Helpers\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-cache');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return fetch(request);\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.handleTokenState();\r\n headers.set('Authorization', authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean): Promise {\r\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async handleTokenState(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n\r\n return 'Bearer ' + accessToken;\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (!this.isWebClient || this.usingBaseUrl) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n accessGroups: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups.length > 0) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n cipherService: CipherService, private apiService: ApiService) {\n super(collectionService, analytics, toasterService, i18nService, cipherService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected loadCipherCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.isAdmin) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Password } from '../domain/password';\r\n\r\nexport class PasswordHistoryView implements View {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(ph?: Password) {\r\n if (!ph) {\r\n return;\r\n }\r\n\r\n this.lastUsedDate = ph.lastUsedDate;\r\n }\r\n}\r\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\r\n\r\nexport class Password extends Domain {\r\n password: CipherString;\r\n lastUsedDate: Date;\r\n\r\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n password: null,\r\n lastUsedDate: null,\r\n }, alreadyEncrypted, ['lastUsedDate']);\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new PasswordHistoryView(this), {\r\n password: null,\r\n }, orgId);\r\n return view;\r\n }\r\n\r\n toPasswordHistoryData(): PasswordHistoryData {\r\n const ph = new PasswordHistoryData();\r\n ph.lastUsedDate = this.lastUsedDate;\r\n this.buildDataModel(this, ph, {\r\n password: null,\r\n });\r\n return ph;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginData } from '../data/loginData';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Login extends Domain {\r\n uris: LoginUri[];\r\n username: CipherString;\r\n password: CipherString;\r\n passwordRevisionDate?: Date;\r\n totp: CipherString;\r\n\r\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = obj.passwordRevisionDate;\r\n this.buildDomainModel(this, obj, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, alreadyEncrypted, []);\r\n\r\n if (obj.uris) {\r\n this.uris = [];\r\n obj.uris.forEach((u) => {\r\n this.uris.push(new LoginUri(u, alreadyEncrypted));\r\n });\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new LoginView(this), {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, orgId);\r\n\r\n if (this.uris != null) {\r\n view.uris = [];\r\n for (let i = 0; i < this.uris.length; i++) {\r\n const uri = await this.uris[i].decrypt(orgId);\r\n view.uris.push(uri);\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toLoginData(): LoginData {\r\n const l = new LoginData();\r\n l.passwordRevisionDate = this.passwordRevisionDate;\r\n this.buildDataModel(this, l, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n });\r\n\r\n if (this.uris != null && this.uris.length > 0) {\r\n l.uris = [];\r\n this.uris.forEach((u) => {\r\n l.uris.push(u.toLoginUriData());\r\n });\r\n }\r\n\r\n return l;\r\n }\r\n}\r\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\r\n\r\nexport class PasswordHistoryData {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(response?: PasswordHistoryResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.password = response.password;\r\n this.lastUsedDate = response.lastUsedDate;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\r\n\r\nimport { LoginUriData } from './loginUriData';\r\n\r\nexport class LoginData {\r\n uris: LoginUriData[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n\r\n constructor(data?: LoginApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.username = data.username;\r\n this.password = data.password;\r\n this.passwordRevisionDate = data.passwordRevisionDate;\r\n this.totp = data.totp;\r\n\r\n if (data.uris) {\r\n this.uris = [];\r\n data.uris.forEach((u) => {\r\n this.uris.push(new LoginUriData(u));\r\n });\r\n }\r\n }\r\n}\r\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n try {\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n } catch { }\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\n

\n \n

\n \n \n

{{'noOrganizationsList' | i18n}}

\n
\n \n \n {{'newOrganization' | i18n}}\n \n
\n\n
\n

\n {{'organizations' | i18n}}\n \n \n \n

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n
\n \n \n
\n
\n
\n
\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 593;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if (((this.isEdge || this.isIE) && algorithm === 'sha1') || algorithm === 'md5') {\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\n if (algorithm === 'md5') {\n throw new Error('MD5 is not supported in WebCrypto.');\n }\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\n this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser;\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc: Document = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work in Firefox when modal is open if appending to body\n if (this.isFirefox() && doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da', 'de', 'fr', 'pt-PT', 'pt-BR', 'ru', 'sk',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class GeneratedPasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\r\n *\r\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\r\n * be returned, instead of calling the original function again\r\n *\r\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\r\n *\r\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\r\n * Read more at https://github.com/bitwarden/jslib/pull/7\r\n */\r\nexport function sequentialize(cacheKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const caches = new Map>>();\r\n\r\n const getCache = (obj: any) => {\r\n let cache = caches.get(obj);\r\n if (cache != null) {\r\n return cache;\r\n }\r\n cache = new Map>();\r\n caches.set(obj, cache);\r\n return cache;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const argsCacheKey = cacheKey(args);\r\n const cache = getCache(this);\r\n let response = cache.get(argsCacheKey);\r\n if (response != null) {\r\n return response;\r\n }\r\n\r\n response = originalMethod.apply(this, args).then((val: any) => {\r\n cache.delete(argsCacheKey);\r\n return val;\r\n }).catch((err: any) => {\r\n cache.delete(argsCacheKey);\r\n throw err;\r\n });\r\n\r\n cache.set(argsCacheKey, response);\r\n return response;\r\n },\r\n };\r\n };\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\r\n enabled: boolean;\r\n challenge: ChallengeResponse;\r\n\r\n constructor(response: any) {\r\n this.enabled = response.Enabled;\r\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\r\n }\r\n}\r\n\r\nexport class ChallengeResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n this.userId = response.UserId;\r\n this.appId = response.AppId;\r\n this.challenge = response.Challenge;\r\n this.version = response.Version;\r\n }\r\n}\r\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration != null ? new Date(response.Expiration) : null;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate?: Date;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.passwordRevisionDate = data.PasswordRevisionDate;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class PasswordHistoryResponse {\r\n password: string;\r\n lastUsedDate: Date;\r\n\r\n constructor(response: any) {\r\n this.password = response.Password;\r\n this.lastUsedDate = response.LastUsedDate;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail', 'enableGravatars',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n const lockOption = await this.get(ConstantsService.lockOptionKey);\n if (lockOption == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.lockOptionKey, 15);\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n LOCALE_ID,\r\n NgModule,\r\n} from '@angular/core';\r\n\r\nimport { ToasterModule } from 'angular2-toaster';\r\n\r\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\r\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\r\nimport { I18nService } from '../../services/i18n.service';\r\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\r\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\r\n\r\nimport { EventService } from './event.service';\r\nimport { OrganizationGuardService } from './organization-guard.service';\r\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\r\nimport { RouterService } from './router.service';\r\nimport { UnauthGuardService } from './unauth-guard.service';\r\n\r\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\nimport { ValidationService } from 'jslib/angular/services/validation.service';\r\n\r\nimport { Analytics } from 'jslib/misc/analytics';\r\n\r\nimport { ApiService } from 'jslib/services/api.service';\r\nimport { AppIdService } from 'jslib/services/appId.service';\r\nimport { AuditService } from 'jslib/services/audit.service';\r\nimport { AuthService } from 'jslib/services/auth.service';\r\nimport { CipherService } from 'jslib/services/cipher.service';\r\nimport { CollectionService } from 'jslib/services/collection.service';\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\nimport { ContainerService } from 'jslib/services/container.service';\r\nimport { CryptoService } from 'jslib/services/crypto.service';\r\nimport { EnvironmentService } from 'jslib/services/environment.service';\r\nimport { ExportService } from 'jslib/services/export.service';\r\nimport { FolderService } from 'jslib/services/folder.service';\r\nimport { LockService } from 'jslib/services/lock.service';\r\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\r\nimport { SettingsService } from 'jslib/services/settings.service';\r\nimport { StateService } from 'jslib/services/state.service';\r\nimport { SyncService } from 'jslib/services/sync.service';\r\nimport { TokenService } from 'jslib/services/token.service';\r\nimport { TotpService } from 'jslib/services/totp.service';\r\nimport { UserService } from 'jslib/services/user.service';\r\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\r\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\r\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\r\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\r\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\r\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\r\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\r\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\r\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\r\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\r\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\r\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\r\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\r\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\r\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\r\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\r\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\r\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\r\n\r\nconst i18nService = new I18nService(window.navigator.language, 'locales');\r\nconst stateService = new StateService();\r\nconst broadcasterService = new BroadcasterService();\r\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\r\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\r\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\r\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\r\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\r\n platformUtilsService);\r\nconst cryptoService = new CryptoService(storageService,\r\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\r\nconst tokenService = new TokenService(storageService);\r\nconst appIdService = new AppIdService(storageService);\r\nconst apiService = new ApiService(tokenService, platformUtilsService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst environmentService = new EnvironmentService(apiService, storageService);\r\nconst userService = new UserService(tokenService, storageService);\r\nconst settingsService = new SettingsService(userService, storageService);\r\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\r\n apiService, storageService, i18nService, platformUtilsService);\r\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\r\n i18nService, cipherService);\r\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\r\nconst lockService = new LockService(cipherService, folderService, collectionService,\r\n cryptoService, platformUtilsService, storageService, messagingService, null);\r\nconst syncService = new SyncService(userService, apiService, settingsService,\r\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\r\nconst totpService = new TotpService(storageService, cryptoFunctionService);\r\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\r\nconst authService = new AuthService(cryptoService, apiService,\r\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\r\nconst exportService = new ExportService(folderService, cipherService, apiService);\r\nconst auditService = new AuditService(cryptoFunctionService, apiService);\r\n\r\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\r\n platformUtilsService, storageService, appIdService);\r\ncontainerService.attachToWindow(window);\r\n\r\nexport function initFactory(): Function {\r\n return async () => {\r\n await (storageService as HtmlStorageService).init();\r\n const isDev = platformUtilsService.isDev();\r\n if (!isDev && platformUtilsService.isSelfHost()) {\r\n environmentService.baseUrl = window.location.origin;\r\n }\r\n await apiService.setUrls({\r\n base: isDev ? null : window.location.origin,\r\n api: isDev ? 'http://localhost:4000' : null,\r\n identity: isDev ? 'http://localhost:33656' : null,\r\n\r\n // Uncomment these (and comment out the above) if you want to target production\r\n // servers for local development.\r\n\r\n // base: null,\r\n // api: 'https://api.bitwarden.com',\r\n // identity: 'https://identity.bitwarden.com',\r\n });\r\n\r\n lockService.init(true);\r\n const locale = await storageService.get(ConstantsService.localeKey);\r\n await i18nService.init(locale);\r\n await authService.init();\r\n const htmlEl = window.document.documentElement;\r\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\r\n let theme = await storageService.get(ConstantsService.themeKey);\r\n if (theme == null) {\r\n theme = 'light';\r\n }\r\n htmlEl.classList.add('theme_' + theme);\r\n stateService.save(ConstantsService.disableFaviconKey,\r\n await storageService.get(ConstantsService.disableFaviconKey));\r\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\r\n };\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n ToasterModule,\r\n ],\r\n declarations: [],\r\n providers: [\r\n ValidationService,\r\n AuthGuardService,\r\n OrganizationGuardService,\r\n OrganizationTypeGuardService,\r\n UnauthGuardService,\r\n RouterService,\r\n EventService,\r\n { provide: AuditServiceAbstraction, useValue: auditService },\r\n { provide: AuthServiceAbstraction, useValue: authService },\r\n { provide: CipherServiceAbstraction, useValue: cipherService },\r\n { provide: FolderServiceAbstraction, useValue: folderService },\r\n { provide: CollectionServiceAbstraction, useValue: collectionService },\r\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\r\n { provide: TotpServiceAbstraction, useValue: totpService },\r\n { provide: TokenServiceAbstraction, useValue: tokenService },\r\n { provide: I18nServiceAbstraction, useValue: i18nService },\r\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\r\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\r\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\r\n { provide: ApiServiceAbstraction, useValue: apiService },\r\n { provide: SyncServiceAbstraction, useValue: syncService },\r\n { provide: UserServiceAbstraction, useValue: userService },\r\n { provide: MessagingServiceAbstraction, useValue: messagingService },\r\n { provide: BroadcasterService, useValue: broadcasterService },\r\n { provide: SettingsServiceAbstraction, useValue: settingsService },\r\n { provide: LockServiceAbstraction, useValue: lockService },\r\n { provide: StorageServiceAbstraction, useValue: storageService },\r\n { provide: StateServiceAbstraction, useValue: stateService },\r\n { provide: ExportServiceAbstraction, useValue: exportService },\r\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initFactory,\r\n deps: [],\r\n multi: true,\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useFactory: () => i18nService.translationLocale,\r\n deps: [],\r\n },\r\n ],\r\n})\r\nexport class ServicesModule {\r\n}\r\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
\n {{billing.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n {{'filters' | i18n}}\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: GeneratedPasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\r\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let i = 1;\r\n results.forEach((value) => {\r\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\r\n value.Folder.replace('/', '') : value.Folder;\r\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Note);\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Login);\r\n cipher.login.password = this.getValueOrDefault(value.Pwd);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n this.cleanupCipher(cipher);\r\n\r\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\r\n return;\r\n }\r\n result.ciphers.push(cipher);\r\n i++;\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === value.grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = value.grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n const fieldParts = extraPart.split(':');\r\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\r\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (fieldParts[0] === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + fieldParts[1]);\r\n } else {\r\n notes = fieldParts[1];\r\n }\r\n } else if (map.hasOwnProperty(fieldParts[0])) {\r\n dataObj[map[fieldParts[0]]] = fieldParts[1];\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n\r\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'lockOptionsDesc' | i18n}}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from '../../misc/duo';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: [{\r\n version: challenges[0].version,\r\n keyHandle: challenges[0].keyHandle,\r\n }],\r\n });\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch (e) {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\n
\n © 2018, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeFr from '@angular/common/locales/fr';\nimport localePt from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\n\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeDe, 'fr');\nregisterLocaleData(localePt, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index 52018ced..0562258b 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - + Bitwarden Web Vault @@ -13,7 +13,7 @@ - + @@ -26,6 +26,6 @@ - +